2016-03-03 22 views
5

Esiste una funzione in lodash per inizializzare una matrice con valori null predefiniti per una determinata lunghezza?Funzione Lodash/underscore per inizializzare una matrice con valori null predefiniti di una determinata lunghezza

metodo array attualmente in uso:

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

Lodash Funzione cercando di utilizzare:

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

richiesto:

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

risposta

12

che dovrebbe fare i trucchi:

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

esempio:

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

_.fill tutta la strada https://jsperf.com/array-with-default-values/1 –

+0

che dire se voglio riempire gamma esistente? – DDave

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

esempio:

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

È più veloce di fare un ciclo for e spingere x volte nullo sul mio array ??? –

4

Io suggerirei usando _.fill

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

sembra essere più veloce di _.times, almeno è su Cromo.

Vedi confronto perf qui: https://jsperf.com/fill-vs-times/1

+0

Risposta duplicata. – TranslucentCloud

+0

È più veloce di scrivere un ciclo e creare array.push. Solo curioso –