为什么答案在这里不确定,所以我无法理解我正在寻找 此处的奇数之和应为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]));
答案 0 :(得分:0)
如下更改代码。您的错误是要在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]));
答案 1 :(得分:0)
只需技巧检查数组函数减少(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))