回答編集履歴

1

テキスト修正

2019/12/18 21:24

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 何が問題かというと、ご質問にあるようなことをやろうとしたときに、配列に用意されている様々なメソッドの中で [map](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/map) を選んでしまった点かなと思います。map は、元の配列の各要素に何らかの処理をした結果、得られた値を各要素とする配列を得るメソッドです。したがって、map によって得られる配列の長さは、元の配列の長さと同じになります。map に与える関数が明示的なreturnで値を返さない場合、ご質問のコードでいうと `if(x[name] != ''){` の `if`条件が満たされなかった場合においても、出力の配列に何も追加されない**のではなく**、関数が明示的なreturnで終了しなかった場合の返り値としての udefined が追加されます。
5
+ 何が問題かというと、ご質問にあるようなことをやろうとしたときに、配列に用意されている様々なメソッドの中で [map](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/map) を選んでしまった点かなと思います。map は、元の配列の各要素に何らかの処理をした結果、得られた値を各要素とする配列を得るメソッドです。したがって、map によって得られる配列の長さは、元の配列の長さと同じになります。map に与える関数が明示的なreturnで値を返さない場合、ご質問のコードでいうと `if(x[name] != ''){` の `if`条件が満たされなかった場合においても、出力の配列に何も追加されない**のではなく**、関数が明示的なreturnで終了しなかった場合の返り値としての **undefined が追加されます**
6
6
 
7
7
 
8
8