teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

;のせいでエラーになってたので修正

2019/02/27 06:23

投稿

miyabi-sun
miyabi-sun

スコア21472

answer CHANGED
@@ -11,7 +11,7 @@
11
11
  // "0" or "1" or undefinedが結果の候補になっちゃう
12
12
  // このundefinedは駄目そう
13
13
  const flag = Object.keys(constant.IS_HEADER_LABEL).find(k =>
14
- constant.IS_HEADER_LABEL[k] === value;
14
+ constant.IS_HEADER_LABEL[k] === value
15
15
  );
16
16
 
17
17
  // 意図を考慮するとこの行が抜けてるんじゃないかな?

3

コードちょっと修正

2019/02/27 06:23

投稿

miyabi-sun
miyabi-sun

スコア21472

answer CHANGED
@@ -8,10 +8,11 @@
8
8
  const setIsHeaderLabel = (model/*: Sequelize */, columnName/*: string */, value/*: string */) => {
9
9
  if (!value) return;
10
10
 
11
- // "0" or "1" or undefinedが結果の候補にな
11
+ // "0" or "1" or undefinedが結果の候補になっちゃう
12
+ // このundefinedは駄目そう
12
13
  const flag = Object.keys(constant.IS_HEADER_LABEL).find(k =>
13
14
  constant.IS_HEADER_LABEL[k] === value;
14
- ) || '';
15
+ );
15
16
 
16
17
  // 意図を考慮するとこの行が抜けてるんじゃないかな?
17
18
  if (flag == null) return;

2

ちょっとマイルドに修正

2019/02/27 05:20

投稿

miyabi-sun
miyabi-sun

スコア21472

answer CHANGED
@@ -8,13 +8,14 @@
8
8
  const setIsHeaderLabel = (model/*: Sequelize */, columnName/*: string */, value/*: string */) => {
9
9
  if (!value) return;
10
10
 
11
- // "0" or "1" or undefinedだけど、上で厳密型定義して人の仕事とは思えん
11
+ // "0" or "1" or undefinedが結果の候補になる
12
- // or演算子使ってundefinedの場合は空文字になるように調整してみた
13
- // console.log("0" || ""); -> "0"になるので勝手に結果0が空文字になることもない
14
12
  const flag = Object.keys(constant.IS_HEADER_LABEL).find(k =>
15
13
  constant.IS_HEADER_LABEL[k] === value;
16
14
  ) || '';
17
15
 
16
+ // 意図を考慮するとこの行が抜けてるんじゃないかな?
17
+ if (flag == null) return;
18
+
18
19
  model.setDataValue(columnName, flag);
19
20
  };
20
21
  ```

1

修正

2019/02/27 05:16

投稿

miyabi-sun
miyabi-sun

スコア21472

answer CHANGED
@@ -8,10 +8,12 @@
8
8
  const setIsHeaderLabel = (model/*: Sequelize */, columnName/*: string */, value/*: string */) => {
9
9
  if (!value) return;
10
10
 
11
+ // "0" or "1" or undefinedだけど、上で厳密な型定義してる人の仕事とは思えん
11
- // 0 or 1 or undefinedだけどこれでいい
12
+ // or演算子使ってundefinedの場合は空文字になるように調整してみた
13
+ // console.log("0" || ""); -> "0"になるので勝手に結果0が空文字になることもない
12
14
  const flag = Object.keys(constant.IS_HEADER_LABEL).find(k =>
13
15
  constant.IS_HEADER_LABEL[k] === value;
14
- );
16
+ ) || '';
15
17
 
16
18
  model.setDataValue(columnName, flag);
17
19
  };