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
如何尝试完成此任务?