gpt4 book ai didi

javascript - 递归函数在对数组元素求和时根据顺序返回不同的值

转载 作者:行者123 更新时间:2023-11-30 12:44:45 24 4
gpt4 key购买 nike

我实现了以下递归 JS 函数来获取数组中元素的总和。这个函数工作正常,当输入 [1,2,3] 时它返回 6,这是可以的。

function sumOfNumbers(array) {
if (array.length == 1) {
return array[0];
} else {
last = array.length - 1;
return array[last] + sumOfNumbers(array.slice(0, last));
}
}

但是,当将总和的顺序更改为:

    return sumOfNumbers(array.slice(0,last)) + array[last];

它为 [1,2,3] 返回 5。有人知道为什么吗?

最佳答案

因为变量 last 是全局变量,并且您要通过调用 sumOfNumbers(array.slice(0,last)) 来更改它,在这部分之前: array[last] 看到了。

关于javascript - 递归函数在对数组元素求和时根据顺序返回不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22967338/

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