JS累加器
假设您的数组如下:
JavaScript Code复制内容到剪贴板
- const array = [
- { totalAmount: 100 },
- { totalAmount: 200 },
- { totalAmount: 300 },
- { totalAmount: 150 }
- ];
您可以使用 Array.reduce() 方法对每组 totalAmount 进行累加,并返回总和:
JavaScript Code复制内容到剪贴板
- const total = array.reduce((accumulator, currentValue) => {
- return accumulator + currentValue.totalAmount;
- }, 0);
- console.log(total); // 输出 750
上述代码中,我们调用了 array.reduce() 方法以便遍历数组、累加每组 totalAmount 并返回最终总和,初始值(即累加器)设置为 0。
在回调函数中,累加器(即总和)初始化为 0,然后在每次迭代中将当前组的 totalAmount 值加入累加器中,并将新的累加器值返回给下一个迭代。
最终,reduce() 方法返回的累加器就是所有 totalAmount 值相加的总和。
上述,也可以简写:
JavaScript Code复制内容到剪贴板
- const arr = [
- { totalAmount: 100 },
- { totalAmount: 200 },
- { totalAmount: 300 }
- ];
- const total = arr.reduce((sum, item) => sum + item.totalAmount, 0);
- console.log(total); // 输出 600
这里使用 reduce() 方法,传入了一个回调函数。该回调函数接收两个参数:一个累加器 sum 和当前数组元素 item。在回调函数中,每次将累加器 sum 加上当前元素的 totalAmount 字段,最后返回总和。
第二个参数 0 表示累加器的初始值为 0。如果数组为空,reduce() 方法将直接返回初始值。