我看到了这个功能,虽然它工作正常,但我对函数表达式有点疑惑。这是代码
mapForEach(arr, fn) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
newArr.push(fn(arr[i]))
}
return newArr;
}
任何人都可以解释这个相当复杂的代码实际上在做什么吗?
答案 0 :(得分:1)
假设您有var array = [1, 2, 3, 5];
然后运行var array2 = mapForEach(array, function(i) { return i * 2; })
然后array2
将包含[2, 4, 6, 10]
。
因此它返回一个新数组,您可以使用函数
修改每个记录答案 1 :(得分:1)
mapForEach枚举数组并在每个元素上调用提供的函数。
示例:
var a = [1, 2, 3];
console.log(mapForEach(a, (x) => x * 2));
将创建一个包含值的新数组(并输出到控制台):
[2, 4, 6]
答案 2 :(得分:1)
基本上它是javascript原生数组函数map
的一个实现,它创建一个新数组,其结果是在该数组的每个元素上调用一个提供的函数。
有关上述功能的更多信息,请访问https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map