gpt4 book ai didi

javascript - 无法使用 forEach 和 map 将参数传递给函数数组

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

我有一个函数数组。然后我使用 forEach 循环将参数传递给这些函数。尽管当我尝试调用第一个函数时,我在控制台中得到了未定义而不是“嘿”

然后我尝试从旧数组创建一个新数组。并尝试使用 map 来获取函数数组,并将参数传递给每个函数,但我得到了一个包含三个未定义项的数组,所以我什至无法调用函数。

const arr = [(arg) => {console.log(arg)}, (arg) => {}, (arg) => {} ];
arr.forEach(func => func('hey'));
arr[0]();

const arr2 = arr.map(func => func('ho'));
console.log(arr2);
arr2[0]();

这两种情况是怎么回事?

最佳答案

第一种情况没有问题,尽管 arr[0](); 只会打印 undefined 因为您没有传递任何参数。

第二种情况,结果数组包含每个函数的调用结果,每个函数都返回undefined,因此arr2中没有函数可以调用.

你的代码片段在HTML部分有JS,所以它根本没有运行。

const arr = [(arg) => { console.log(arg) }, (arg) => {}, (arg) => {}];
arr.forEach(func => func('hey'));
arr[0](); // <-- You're passing no argument here

// This invokes the functions, and builds an array of the functions'
// return values, all of which are `undefined`.
const arr2 = arr.map(func => func('ho'));
console.log(arr2);
arr2[0]();

关于javascript - 无法使用 forEach 和 map 将参数传递给函数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47382645/

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