4 回答

TA貢獻1995條經驗 獲得超2個贊
您超出了陣列范圍。另外,當您開始從索引 0 開始查看數組時,您應該將添加的值初始化為 0。注意,我添加了一些 console.logs 來讓您了解如何調試此類內容。
function add (string) {
let partsArray = string.split("+");
console.log("parts", partsArray);
let added = 0;
for (let i=0; i<partsArray.length; i++) {
console.log("i",parseInt(partsArray[i]));
added += parseInt(partsArray[i]);
}
return added;
}
如果添加<=后面并使用 console.logs 運行代碼,您將在控制臺中看到以下內容。請注意,<=您有 4 個索引,而不是預期的 3 個。這是因為大小為 3,但數組是從零開始索引的。當您使用時,<您會得到預期的答案。

TA貢獻2012條經驗 獲得超12個贊
您還可以使用reduce方法:
function add(string) {
return string.split('+').reduce((accumulator, currentValue) => accumulator +
parseInt(currentValue, 10),0)
}

TA貢獻2051條經驗 獲得超10個贊
如果您仍然想從第一個索引開始..您可以像下面這樣做
function add (string) {
let partsArray = string.split("+");
let added = parseInt(partsArray[0]);
for (let i=1; i<partsArray.length; i++) {
added += parseInt(partsArray[i]);
}
return added;
}

TA貢獻1942條經驗 獲得超3個贊
function add(given)
{
let data=given.split('+');
let nums=data.map(function(num){
return parseInt(num)
})
let sum=0
for(let i=0;i<nums.length;i++)
{
sum=sum+nums[i];
}
console.log( sum)
}
add('7+12+100')
添加回答
舉報