gpt4 book ai didi

Javascript .reduce() 没有按预期运行?

转载 作者:行者123 更新时间:2023-11-30 12:07:06 26 4
gpt4 key购买 nike

我正在尝试创建一个函数,该函数将数组作为参数,然后将数组的每个元素与其索引相乘,然后相加并返回这些值。但是,我得到了无法解释的返回。

var sum = 0;
function crazy_sum(numbers){
return numbers.reduce(function(previousValue,currentValue,currentIndex,array){
sum += currentValue*currentIndex;
return sum;
},0);
};


console.log(crazy_sum([2])); //returns 0, as expected
console.log(crazy_sum([2,3])); //returns 3, as expected
console.log(crazy_sum([2,3,5])); //returns 16 when I would expect 13
console.log(crazy_sum([2,3,5,2])); //returns 35 when I would expect 19

为什么我没有得到预期的结果?该功能实际上在做什么?

最佳答案

你不需要sum,使用previousValue参数:

function crazy_sum(numbers){
return numbers.reduce(function(previousValue,currentValue,currentIndex,array){
previousValue+= currentValue*currentIndex;
return previousValue;
},0);
};

关于Javascript .reduce() 没有按预期运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34883934/

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