2016-03-03 2 views
5

与えられた長さのデフォルトのヌル値で配列を初期化する関数がlodashにありますか?使用しようとして与えられた長さのデフォルトのヌル値で配列を初期化するためのLodash /アンダースコア関数

 var myArray = Array.apply(null, Array(myArrayLength)).map(function() { return null }); 

Lodash機能:

 var myArray = _.times(myArrayLength, null); 

必要な配列:トリックを行う必要があります

var myArray = [null, null, .......]; 

答えて

12

_.times(arrayLength, _.constant(null)); 
を現在使用して

アレイ法

例:

_.times(5, _.constant(null)); 
[null, null, null, null, null] 
+2

_.fillはるばるhttps://jsperf.com/array-with-default-values/1 –

+0

私は存在しない配列を埋めるためにしたい場合は? – DDave

4
_.fill(Array(arrayLength), null); 

例:

_.fill(Array(5), null); // [ null, null, null, null, null ] 
+0

これはforループを作成し、x回ヌルを配列に入れるよりも速いですか? –

4

私は_.timesよりも高速であるように思わ_.fill

_.fill(Array(myArrayLength), null);` 

を使用してお勧めする、少なくともそれがオンになっていますクロム。

はここにperfの比較を参照してください: https://jsperf.com/fill-vs-times/1

+0

重複した回答。 – TranslucentCloud

+0

ループを作成してarray.pushを作成するよりも速いです。ちょっと興味があるんだけど –