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