我目前正在從http://toys.usvsth3m.com/javascript-under-pressure/開始一個javascript練習,我的代碼不能處理嵌套數組......我嘗試使用遞歸來解決問題,但它只是似乎是在嵌套數組情況下添加第一個元素......我來自Ruby背景,所以JavaScript對我來說有點陌生。只能在嵌套數組中找到第一個數字
如果有人可以指出我做錯了什麼,我會很感激!
感謝, 斯密
function arraySum(i) {
// i will be an array, containing integers and/or arrays like itself.
// Sum all the integers you find, anywhere in the nest of arrays.
var sum = 0;
sum = sumit(i);
return sum;
}
function sumit(i) {
var sum = 0;
for (a=0; a<i.length; a++)
{
if (typeof(i[a]) == 'array')
{
sumit(i[a]);
}
else
{
sum += parseInt(i[a]);
}
}
return sum;
}
當然你想要做'sum + = sumit (我[a]);'在'if語句中? –
爲了讓它變得非常簡單,我會將該數組展平,然後對其進行求和。 – dandavis