lodash / underscore.js函数创建包含n个x副本的数组

时间:2015-03-04 18:30:44

标签: javascript arrays underscore.js lodash

我怀疑我问这个问题的原因是我的词汇量缺少一个更好的术语我正在寻找的功能,因此我没有在谷歌和lodash API文档中找到它

underscorelodash提供一个专用函数,通过简单地将x的(返回)值推送到空nx次来生成数组1}}是值还是生成器函数?

我可以想到这样一个函数的大量用例,即使使用简单的for循环轻松复制功能,实用程序库提供的函数如{{1通常是{}和underscore,它们的目的通常是提供最佳实现。

原来lodash 几乎提供了我正在寻找的功能;如官方API文档中所述:

_.times

但这显然不允许我传递静态值。

1 个答案:

答案 0 :(得分:2)

不是专用函数,但也许这就足够了?:

.map( .range(n),x)

修改:正如Pointy建议的那样,如果_.times()是生成器,x会执行您所描述的内容:

_.times(n, x)

_.times会忽略x如果它不是某个功能,那么您可能需要使用mixin进行使用:

_.mixin({ 
    generate: function (length, x) { 
        return _.times(length, _.isFunction(x) ? x : _.constant(x));
    }
}); 
相关问题