[英]How to sum the array elements by reduce method js
为什么我的鳕鱼不起作用我的意思是我什至可以用 reduce 方法求和?
function sum() {
let numbers = [] ;
let result ;
while(true) {
let input = prompt("Enter a number or press 'S' to submit") ;
if(input === "s" || input === null) {
break;
}
numbers.push(Number(numbers)) ;
}
**let submaition = numbers.reduce(myfun);
function myfun(a , b) {
result = parseInt(a) + parseInt (b) ;
return result ;
}**
}
是的
const euros = [29.76, 41.85, 46.5]; const sum = euros.reduce((total, amount) => total + amount); console.log(sum) // 118.11
您的减少 function 是好的问题是您没有将正确的值推送到 Numbers 数组。 代替:
numbers.push(Number(numbers)) ;
用这个:
numbers.push(Number(input)) ;
我希望这能够帮到你。
您应该将初始值传递给减少 function 也有错误numbers.push(Number(numbers));
它应该是numbers.push(Number(input));
这是一个工作片段:
function sum() { let numbers = []; let result; while (true) { let input = prompt("Enter a number or press 'S' to submit"); if (input === "s" || input === null) { break; } else { numbers.push(Number(input)); } } let submaition = numbers.reduce(myfun, 0); function myfun(a, b) { return parseInt(a)+ parseInt(b); } console.log(submaition); } sum();
执行过程中出现的问题很少,
numbers.push(Number(input))
而不是numbers.push(Number(numbers))
NaN
我已经在下面的代码中解决了这些问题。
function sum() {
let numbers = [] ;
let result ;
while(true) {
let input = prompt("Enter a number or press 'S' to submit") ;
if(input === "s" || input === null) {
break;
}
if(isNaN(Number(input))) input = 0;
numbers.push(Number(input));
}
console.log(numbers);
let submaition = numbers.reduce(myfun, 0);
function myfun(a , b) {
result = a + b ;
return result;
}
return submaition
}
console.log(sum())
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.