用条件计算json中的项目数

时间:2014-03-25 21:42:32

标签: javascript json angularjs

我想计算符合某些条件的JSON项目数组中的项目数。 我的数组看起来像这样:

array = [{
            name: 'Bob',
            age: 24
           },
          ....,
          {
            name: 'Mary',
            age: 23
           }]

我试图让表达式像我的数据库请求一样简单优雅,而不是遍历整个数组:

db.myCollection.find({ age: 23 }).count()

有最佳做法吗?我正在考虑使用下划线库,但我无法找到我要找的东西。

非常感谢你的帮助。

2 个答案:

答案 0 :(得分:15)

好吧,你可以在没有任何第三方库的情况下做到这一点,也可以不循环:

array.filter(function(value) { return value.age === 23 }).length;

使用ES6,它甚至变得更加简洁

array.filter(value => value.age === 23).length;

答案 1 :(得分:1)

正如我在操作中提到的,您似乎正在寻找_.size

_.chain(json)
 .find({age: 23})
 .size()
 .value();