gpt4 book ai didi

javascript - 无法理解javascript递归程序

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

我用 JavaScript 编写了以下程序:

function recursiveSum(a) {
sum = 0;
for (i=0;i<a.length; ++i) {
if (typeof a[i] === "number") {
sum += a[i];
} else if (a[i] instanceof Array) {
sum += recursiveSum(a[i]);
}
}
return sum;
}
function arraySum(a) {

// i will be an array, containing integers, strings and/or arrays like itself.
// Sum all the integers you find, anywhere in the nest of arrays.

return recursiveSum(a);
}

我不明白为什么 arraySum([[1,2,3],4,5]) is 6 的结果。为什么第一个数组之后的元素没有被处理?

最佳答案

您遇到全局变量问题。您需要使用 var,它不是可选的。

sumi 都需要用 var 声明。

var sum = 0;
for (var i=0;i<a.length; ++i) {

关于javascript - 无法理解javascript递归程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19274760/

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