为什么答案在这里不明确我不明白我试图在这里找到奇数的总和,答案应该是19,但它显示
enter code here
function oddSum(arr){
var sum =0;
for(var i=0;i<arr.length;i++){
if(arr[i]%2>0)
sum +=arr[i];`enter code here`
return sum;
}
}
document.write(oddSum([5,4,6,13,1]));
更改您的代码如下。你的错误是你在for循环中返回总和。那样你就永远得不到正确的金额。此外,即使if子句中只有一个语句,也要尝试使用括号。然后你可以轻松调试它。
function oddSum(arr){
var sum =0;
for(var i=0;i<arr.length;i++){
if(arr[i]%2>0){
sum +=arr[i];
}
}
return sum;
}
document.write(oddSum([5,4,6,13,1]));
只是提示检查数组函数reduce(https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/reduce)。
你将能够做到这样的事情:
console.log([5,4,6,13,1].reduce((a,b) => b % 2 !== 0 ? a + b : a, 0))