gpt4 book ai didi

javascript - 解释持有参数的函数参数

转载 作者:行者123 更新时间:2023-11-28 14:45:52 25 4
gpt4 key购买 nike

我正在研究回调概念,经常看到 f 参数之一被用作“函数调用”:callback(arr[i]),但它还不是一个函数。我想我们预计其中一个参数是一个函数,所以这是一种可以接受的方法吗?

引用:

function processArray(arr, callback) {
var resultArr = new Array();
for (var i = arr.length - 1; i >= 0; i--)
resultArr[i] = callback(arr[i]);
return resultArr;
}

最佳答案

看。如果你想处理数组的每一项并获取包含字符串表示形式的length的新数组,你可以这样做

function processArray(arr, callback) {

if(typeof callback !== 'function') {
throw new Error('The callback is not a function');
}

const resultArr = new Array();

for (var i = arr.length - 1; i >= 0; i--) {
resultArr[i] = callback(arr[i]);
}

return resultArr;
}

const weekdays = ['Monday', 'Tuesday', 'Wednesday'];
console.log(processArray(weekdays, item => item.length));

如果您现在想将它们全部大写并获取另一个数组怎么办?

function processArray(arr, callback) {

if(typeof callback !== 'function') {
throw new Error('The callback is not a function');
}

const resultArr = new Array();

for (var i = arr.length - 1; i >= 0; i--) {
resultArr[i] = callback(arr[i]);
}

return resultArr;
}

const weekdays = ['Monday', 'Tuesday', 'Wednesday'];
console.log(processArray(weekdays, item => item.toUpperCase()));

对于这两个操作,如果我们不传递回调函数,我们需要创建两个单独的函数并使用它们自己的操作。通过传递参数,我们使函数变得通用,因此我们为单个函数提供了处理每个项目并返回结果的逻辑

它将调用函数中的每个项目,将项目作为参数传递给函数并返回结果。然后我们将结果放入新的映射数组中。

这是一种可以接受的方法吗?

是的,这是一种可以接受的方法。这是一种非常现代的方法。您有一个函数,它对每个项目执行您将传递给它的任何逻辑。在 Javascript 中,有许多内置函数使用这种样式(例如 Array#mapArray#forEach )。而且很多库都有这样的类型函数。而且这不仅仅是在 Javacript 中。

关于javascript - 解释持有参数的函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46362932/

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