在lodash中是否有一个函数来初始化一个给定长度的默认空值的数组?
目前正在使用的数组方法:
var myArray = Array.apply(null, Array(myArrayLength)).map(function() { return null });
Lodash功能尝试使用:
var myArray = _.times(myArrayLength, null);
必需的数组:
var myArray = [null, null, .......];
答案 0 :(得分:22)
这应该做的伎俩:
_.times(arrayLength, _.constant(null));
例如:
_.times(5, _.constant(null));
[null, null, null, null, null]
答案 1 :(得分:9)
_.fill(Array(arrayLength), null)
// exemple:
_.fill(Array(5), null); // [ null, null, null, null, null ]
修改强>
我做了一些性能测试:https://jsperf.com/lodash-initialize-array-fill-vs-times
_.fill
比_.times
null
比_constant(null)
答案 2 :(得分:3)
我建议使用_.fill
_.fill(Array(myArrayLength), null);`
它似乎比_.times
快,至少在Chrome上。
请参阅此处的性能比较:https://jsperf.com/fill-vs-times/1