Lodash /下划线函数初始化具有给定长度的默认空值的数组

时间:2016-03-03 16:36:11

标签: javascript arrays underscore.js lodash

在lodash中是否有一个函数来初始化一个给定长度的默认空值的数组?

目前正在使用的数组方法:

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

Lodash功能尝试使用:

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

必需的数组:

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

3 个答案:

答案 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