javascript - 对具有特定属性的数组元素求和

标签 javascript arrays angularjs

我想对数组的元素求和,但不是全部。假设我的数组是:

var example = [
                   {"id": 1, "value": 50, "active": true}, 
                   {"id": 2, "value": 70, "active": false}, 
                   {"id": 3, "value": 45, "active": true}, 
                   {"id": 4, "value": 50, "active": false}
               ];

我需要做的就是将元素的"active":true相加。

有办法做到吗?也许太简单了,但现在我的脑子已经死了。

我正在使用 Javascript 和 AngularJs。

提前致谢。

最佳答案

您可以使用filterreduce像这样:

var a = [{"id": 1, "value": 50, "active": true}, {"id": 2, "value": 70, "active": false}, {"id": 3, "value": 45, "active": true}, {"id": 4, "value": 50, "active": false}]

var result = a.filter(o => o.active).reduce((acc, cur) => cur.value + acc, 0)

console.log(result)

关于javascript - 对具有特定属性的数组元素求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57532596/

相关文章:

javascript - 通过标签选择过滤拉力赛网格

c - 在C中乘以整数的char数组

javascript - Angularjs——更新后刷新 View 中的单列

angularjs - Ng-重复 : Filter By Uniqueness

javascript - 与 Node.js Worker_Threads 模块一起使用时出现广播 channel 问题

javascript - 将文本区域的值绑定(bind)设置为 observableArray 的元素

java - 给定一个数字数组,使用 Map Reduce 返回所有其他数字的乘积数组

c - 如何使用C编程删除行号?

javascript - 在angularjs中切换内容onclick按钮

Javascript取消自定义函数并恢复