3 回答
TA貢獻1906條經驗 獲得超10個贊
給出totalValue初始值,現在它正在添加數字undefined,結果是NaN
const valid1 = [4, 5, 3, 9, 6, 7, 7, 9, 0, 8, 0, 1, 6, 8, 0, 8]
const validateCred = (arr) => {
let totalValue = 0
for (let i = arr.length - 1; i >= 0; i--) {
let number = arr[i] *2
if (number > 9) {
totalValue += number - 9
} else {
totalValue += number
}
}
return totalValue
}
console.log(validateCred(valid1))
你也可以使用Array.reduce這樣的方法
const valid1 = [4, 5, 3, 9, 6, 7, 7, 9, 0, 8, 0, 1, 6, 8, 0, 8]
const totalValue = valid1.reduce((acc, num) => {
let number = num * 2
if (number > 9) {
acc += number - 9
} else {
acc += number
}
return acc
},0)
console.log(totalValue)
TA貢獻1874條經驗 獲得超12個贊
totalValue在迭代之前將 的值設置為 0 通過建立totalValue數字來解決問題。還有其他方法可以做到這一點,但我認為這是合適的。
const valid1 = [4, 5, 3, 9, 6, 7, 7, 9, 0, 8, 0, 1, 6, 8, 0, 8]
//trying to loop through the array and sum all the array values in totalValue variable
const validateCred = (arr) => {
let totalValue = 0;
for (let i = arr.length - 1; i >= 0; i--) {
let number = arr[i] *2;
if (number > 9) {
totalValue += number - 9
} else {
totalValue += number
}
}
return totalValue
}
console.log(validateCred(valid1))
TA貢獻1775條經驗 獲得超8個贊
您的 totalValue 未初始化。
const valid1 = [4, 5, 3, 9, 6, 7, 7, 9, 0, 8, 0, 1, 6, 8, 0, 8];
const validateCred = (arr) => {
let totalValue = 0;
for (let i = arr.length - 1; i >= 0; i--) {
let number = arr[i] * 2
if (number > 9) {
totalValue += number - 9
} else {
totalValue += number
}
}
return totalValue
}
console.log(validateCred(valid1))
添加回答
舉報
