gpt4 book ai didi

javascript - 用相同的函数填充数组

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

我正在尝试创建一个函数,该函数返回一个包含 n 个元素的数组,这些元素都是相同的函数(该数组稍后将用于使用 async 并行调用这些函数) .
我可以轻松地循环数组并将函数添加到每个元素,但想知道是否可以使用 map 在一行中完成此操作:

//the function to point to
var double = function(x) {
return x*2;
};

//this function will create the array - just a filler for a one-liner
var createConsumersArray = function(numOfConsumers) {
var consumers = (new Array(2)).map(function(x){return double;});
return consumers;
};

var t = createConsumersArray(2);
console.log(t); //prints [,]
console.log(t[1](2)); //TypeError: Property '1' of object , is not a function

如果我用常量预先填充数组,则map有效,即:

var x = [1,2,3];
console.log(x.map(function(x){return double;})); //prints [ [Function], [Function], [Function] ]
console.log(x[1](2)); //prints 4

如何以最短的方式完成用相同的函数填充数组?

最佳答案

你必须做出一些改变。

var createConsumersArray = function(numOfConsumers) {
var consumers = Array.apply(null, Array(numOfConsumers)).map(function(){return double;});
return consumers;
};

关于javascript - 用相同的函数填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24269837/

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