Javascript can';I don’我想不出使这些值相加的逻辑

Javascript can';I don’我想不出使这些值相加的逻辑,javascript,Javascript,我正在做一个计算器项目,但就目前而言,我的计算器只能执行两个数字求和的操作,而不能将我们以后加起来的所有数字相加。我想不出让它以顺序方式计算数字的逻辑。有人能帮我吗 例如,现在当你按下2+2时,它返回4,但当你按下2+2+4时,它返回6,它应该像一个普通的计算器一样,返回8 我会很感激的谢谢你!以下是我的程序脚本: var select = document.querySelector('#buttons') var operating = document.querySelector('#op

我正在做一个计算器项目,但就目前而言,我的计算器只能执行两个数字求和的操作,而不能将我们以后加起来的所有数字相加。我想不出让它以顺序方式计算数字的逻辑。有人能帮我吗


例如,现在当你按下2+2时,它返回4,但当你按下2+2+4时,它返回6,它应该像一个普通的计算器一样,返回8

我会很感激的谢谢你!以下是我的程序脚本:

var select = document.querySelector('#buttons')
var operating = document.querySelector('#operators')
let buttonequals = document.getElementById('button-equals')

select.addEventListener('click', selector)
operating.addEventListener('click', operatorSign)


let value;
let target;
let firstResult = 0;
let secondResult = 0;
let finalResult = 0;
let operand = "";


function selector(event) {
  target = event.target;
  if (target.matches('button')) {
    value = target.innerHTML
    value = Number(value);

    result = document.querySelector('#output').value += value
    result = Number(result)


    if (operand === "") {
      firstResult = Number(result)
      console.log(firstResult)
    } else {
      secondResult = Number(result)
      console.log(secondResult)
    }


  }}


function operatorSign(e) {
    let operator = e.target;
    if (operator.matches('button')) {
      operand = operator.innerHTML

      if (operand !== "=") {
          document.querySelector('#output').value = ""

      }

    }
}


function calculate() {


  if (operand === "+") {
    finalResult = firstResult + secondResult
    document.querySelector('#output').value = finalResult
    console.log(finalResult)
  } else if (operand === "-") {
    finalResult = firstResult - secondResult
    document.querySelector('#output').value = finalResult
  } else if (operand === "*") {
    finalResult = firstResult * secondResult
    document.querySelector('#output').value = finalResult
  } else if (operand === "/") {
    finalResult = firstResult / secondResult
    document.querySelector('#output').value = finalResult
  }

}

您可以使用
扩展运算符
获取可变数量的参数,然后计算和。 如下所示:

function calculate(...arg) {
    const sum = arg.reduce((acc, v) => {
  acc = acc + v;
  return acc;
  })
  console.log(sum);
}

calculate(1,2);
calculate(1,2,3,4);

你能提供这样的例子吗?现在当你按下2+2时,它返回4,但当你按下2+2+4时,它返回6,它的行为应该像一个普通的计算器一样,返回8。这段代码的哪一部分试图提供这个运行总数?calculate()功能和
calculate
如何尝试完成此任务?