gpt4 book ai didi

javascript - 从循环中的值创建一个新数组,然后对新数组中的所有值求和

转载 作者:行者123 更新时间:2023-11-30 19:33:00 25 4
gpt4 key购买 nike

我有一个包含多行的表单,用户可以在其中输入数字并计算输出。

我目前可以计算每一行的输出 - 小计。但希望能够计算所有小计 - 总计。

我能够将每个小计记录到控制台,但不知道如何对这些值求和。阅读了一些类似的问题后,我认为我需要创建一个值数组并对这些值求和。

是否可以使用我当前使用的循环?

这是我目前拥有的:

const rows = document.querySelectorAll('.row');
const calculate = document.querySelector('.calculate');
const output = document.querySelector('.output');

// Calculate

function calculateSubTotal() {

rows.forEach(function(row, index){
const input1Val = Number(row.querySelector('.input-1').value);
const input2Val = Number(row.querySelector('.input-2').value);

const subTotal = input1Val + input2Val;

console.log(subTotal);
});

}

calculate.addEventListener('click', calculateSubTotal);

这是一支笔:https://codepen.io/abbasarezoo/pen/WBXjWO?editors=1111

最佳答案

forEach外声明一个变量,在forEach内增加它

function calculateSubTotal() {
let total = 0;
rows.forEach(function(row, index){
const input1Val = Number(row.querySelector('.input-1').value);
const input2Val = Number(row.querySelector('.input-2').value);

const subTotal = input1Val + input2Val;

console.log(subTotal);
total += subTotal
});

}

使用 reduce()map() 的简化版代码将是

function calculateSubTotal() {
let total = 0;
let subTotals = rows.map(x => +x.querySelector('.input-1').value + +x.querySelector('.input-2').value)
let total = subTotals.reduce((ac,a) => ac + a,0)
}

关于javascript - 从循环中的值创建一个新数组,然后对新数组中的所有值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56242583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com