Lodash/underscore 函数用给定长度的默认空值初始化数组
Lodash/underscore function to Initialize an array with default null values of a given length
lodash 中是否有一个函数可以用给定长度的默认空值初始化数组?
当前使用的数组方法:
var myArray = Array.apply(null, Array(myArrayLength)).map(function() { return null });
Lodash 函数尝试使用:
var myArray = _.times(myArrayLength, null);
所需数组:
var myArray = [null, null, .......];
这应该可以解决问题:
_.times(arrayLength, _.constant(null));
例如:
_.times(5, _.constant(null));
[null, null, null, null, null]
_.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)
快
我建议使用 _.fill
_.fill(Array(myArrayLength), null);`
好像比_.times
快,至少在Chrome.
在此处查看性能比较:https://jsperf.com/fill-vs-times/1
lodash 中是否有一个函数可以用给定长度的默认空值初始化数组?
当前使用的数组方法:
var myArray = Array.apply(null, Array(myArrayLength)).map(function() { return null });
Lodash 函数尝试使用:
var myArray = _.times(myArrayLength, null);
所需数组:
var myArray = [null, null, .......];
这应该可以解决问题:
_.times(arrayLength, _.constant(null));
例如:
_.times(5, _.constant(null));
[null, null, null, null, null]
_.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)
快
我建议使用 _.fill
_.fill(Array(myArrayLength), null);`
好像比_.times
快,至少在Chrome.
在此处查看性能比较:https://jsperf.com/fill-vs-times/1