gpt4 book ai didi

javascript:传递函数

转载 作者:数据小太阳 更新时间:2023-10-29 05:27:01 24 4
gpt4 key购买 nike

我正在学习 JavaScript。我知道我们可以在定义函数后将函数传递给其他函数。但是我需要帮助来理解这个例子:

function map(func, array) {
var result = [];
forEach(array, function (element) {
result.push(func(element));
});
return result;
}

据我了解,func 是 map 的参数。我需要提供一个函数作为 func。但是在我正在阅读的教程中,它没有提到这个函数来自哪里,似乎不需要指定这个参数?教程中的另一个例子也是一样的:

 function count(test, array) {
return reduce(function(total, element) {
return total + (test(element) ? 1 : 0);
}, 0, array);
}

这个测试函数等于 element === 0 ? 1 : 0 ,但是教程没有说我需要写下测试函数。我需要写这个测试函数吗?

最佳答案

编辑: 在您发布的教程链接中,传递的函数是预定义函数 Math.round。下面的示例展示了如何创建您自己的传递函数。


map 示例显示了实现。当您调用 map 时,您将提供函数(和数组)。

从外观上看,map 将 Array 中的当前项目传递给您的函数,您的函数应该对其执行一些操作并返回结果。您的函数返回的结果将添加到新数组中。

var arr = [1,2,3,4,5];
var my_func = function(item) { return item * 2; };

var new_arr = map(my_func, arr);

console.log(new_arr); // [2,4,6,8,10]
  1. 我们创建了一个数组(arr)

  2. 我们创建了一个函数 (my_func),它接受给定的任何值,并将其乘以 2。

  3. 我们将两者传递给 map

  4. map 函数迭代我们的 arr,将每次迭代中的当前项目传递给我们的函数。

  5. 我们的函数获取当前项目,并返回它乘以 2 的结果。

  6. map 函数获取该结果,并将其添加到新数组。

  7. 迭代完成后,map 函数返回新数组。

关于javascript:传递函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11060179/

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