gpt4 book ai didi

javascript - 使用 Reduce 将每个数组元素的值加倍

转载 作者:行者123 更新时间:2023-11-30 15:29:55 26 4
gpt4 key购买 nike

我有一个元素数组作为输入。我只需要将数组元素的值加倍。虽然使用 ma​​p 来获得解决方案很简单。我对使用 reduce 很感兴趣。例如:io: var a = [1,2,3,4,5];操作:[2,4,6,8,10]; .但这就是我结束的地方。

var c = a.reduce( (acc,b) => {
acc =b*2;
console.log(acc);
return acc
},[]);

最佳答案

var arr = [1, 2, 3, 4, 5];
var doubled = arr.reduce(function (memo, val) {
memo.push(val * 2);
return memo;
}, []);

console.log(doubled);

var arr2 = [1, 2, 3, 4, 5];
arr2.reduce(function (memo, val, i) {
memo[i] *= 2;
return memo;
}, arr2);

console.log(arr2);

var arr3 = [1, 2, 3, 4, 5];
arr3.reduce(function (memo, val, i) {
arr3[i] *= 2;
}, null);

console.log(arr3);

在第一个解决方案中,reduce 从一个空数组(提供给它的第二个参数)开始。然后,该数组作为我们提供的函数的第一个参数 (memo) 向下传递到下一次迭代。第二个参数是迭代的当前元素。在将双倍值插入新数组后,该数组将被返回,以便在未来的迭代中可以作为 memo 访问它。

在第二种解决方案中,没有创建新数组,而是使用初始数组。它作为第二个元素传递给 reduce,然后通过 memo 访问。

第三个解决方案与第二个解决方案类似,除了缩减数组只是按原样引用。请注意,null 必须作为第二个参数传递。如果未传递任何内容,reduce 将从第二个元素开始(因为没有初始值)并且第一个元素不会加倍。

关于javascript - 使用 Reduce 将每个数组元素的值加倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42394730/

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