gpt4 book ai didi

javascript - lodash/underscore.js 函数创建由 n 个 x 副本组成的数组

转载 作者:行者123 更新时间:2023-12-02 16:24:03 25 4
gpt4 key购买 nike

我怀疑我问这个问题的原因是我的词汇量缺乏一个更好的术语来描述我正在寻找的函数,因此我无法在谷歌和 lodash API 文档上找到它.

Do underscorelodash 提供了一个专用函数,只需将 x 的(返回)值推送到空数组即可生成数组n 次,其中 x 是值还是生成器函数?

我可以想到这样一个函数的许多用例,尽管可以使用简单的 for 循环轻松复制该功能,但实用程序库提供的函数,例如underscorelodash 通常是,它们的目的通常是提供最佳实现。

事实证明_.times几乎提供了我正在寻找的功能;正如官方API文档中所述:

_.times(n, [iteratee=_.identity], [thisArg]) 

// Invokes the iteratee function n times, returning an array of the results of each invocation. The iteratee is bound to thisArg and invoked with one argument; (index).

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

最佳答案

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

.map(.range(n), x)

编辑:正如Pointy所建议的,如果x是生成器,_.times()将执行您所描述的操作:

_.times(n, x)
如果

_.times 不是函数,则它会忽略 x,因此您可能需要使用 mixin 来实现您的用途:

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

关于javascript - lodash/underscore.js 函数创建由 n 个 x 副本组成的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28862151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com