我正在尝试使用do while循环将其输入到数组中,直到用户输入一个空格或0,然后试图将该数组中的所有元素加在一起,但是它以字符串形式返回它们。
我尝试在多个地方使用parseInt()
,但通常会使代码根本无法工作。
document.getElementById('while').addEventListener('click', stats);
document.getElementById('while').addEventListener('click', reduction);
var input_array = [];
var value = 0;
function stats() {
do {
var number = prompt('Enter a Number');
var array = input_array.push(number);
document.getElementById('out2').innerHTML = "[" + input_array + "]";
} while (value != number);
}
function array_sum(total, num) {
return total + num;
}
function reduction(item) {
document.getElementById('out3').innerHTML = input_array.reduce(array_sum);
}
答案 0 :(得分:0)
如果在将值推入数组之前简单地parseInt
,您将在数组中获得数字,并且所有操作均按预期进行:
let input_array = [];
let value = 0
function stats() {
do {
var number = prompt('Enter a Number');
var array = input_array.push(parseInt(number)); // <-- parse here
} while (value != number);
}
stats() // show the prompt etc
function array_sum(total, num) {
return total + num
}
console.log(input_array.reduce(array_sum))
我只发布了不带html的js部分,只是为您提供了一个可以按预期工作的示例。