2016-03-03 6 views
5

Gibt es eine Funktion in lodash, um ein Array mit Standard-Nullwerten für eine gegebene Länge zu initialisieren?Lodash/Unterstreichungsfunktion zum Initialisieren eines Arrays mit Standard-Nullwerten einer gegebenen Länge

Array-Methode derzeit verwenden:

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

Lodash Funktion versucht, zu verwenden:

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

Required Array:

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

Antwort

12

, dass die Tricks tun sollten:

_.times(arrayLength, _.constant(null)); 

zB:

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

_.fill den ganzen Weg https://jsperf.com/array-with-default-values/1 –

+0

was ist, wenn ich existente Array füllen wollen? – DDave

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

zB:

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

Es ist das schneller als eine For-Schleife und drücken x mal null auf mein Array ??? –

4

Ich würde vorschlagen, mit _.fill

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

Es scheint, als _.times schneller zu sein, zumindest ist es auf Chrom.

Siehe perf Vergleich hier: https://jsperf.com/fill-vs-times/1

+0

Doppelte Antwort. – TranslucentCloud

+0

Es ist das schneller als eine Schleife schreiben und array.push machen. Nur neugierig –