我想创建一个返回函数数组的函数。当调用这个数组中的任何函数时,结果必须是该函数在数组中的索引。任务和挑战是在没有使用for循环的情况下创建此函数。我一直在尝试这种方式,但代码并不能按照我的预期工作:
const createArrayOfFunctions = number => {
const functionsArray = new Array(number).fill();
return functionsArray.map(element => function() {
return functionsArray.indexOf(element);
});
};
我期望:
const testArray = createArrayOfFunctions(7);
testArray[2](); // 2;
有没有不使用 for 循环就能实现目标的方法。我需要在研究项目中使用。
console.log(functionsArray)
。你会注意到它仅由undefined
值组成。执行functionsArray.indexOf(element)
会始终在索引0处找到undefined
。 - Bergimap
方法的文档。无需使用indexOf
来查找回调函数被调用的索引! - Bergi