【问题标题】:Trying to add elements of an array together尝试将数组的元素添加在一起
【发布时间】:2019-05-26 02:58:59
【问题描述】:

我正在尝试使用 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);
}

【问题讨论】:

  • 什么是while?一个按钮? out2out3 只是 <div>s 吗?可以包含 HTML 吗?

标签: javascript arrays sum add reduce


【解决方案1】:

如果您在将值推送到数组之前只是简单地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 部分,只是为了给你一个例子,它可以按预期工作。

【讨论】:

    猜你喜欢
    • 2020-09-15
    • 2018-10-16
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2017-02-20
    • 2012-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多