Count the number of items in json with conditions

angularjs, javascript, json

Solution

Well, you can do this without any 3rd party library and also without looping:

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

And with ES6 it even becomes more terse

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

Problem

I'd like to count the number of items in an array of JSON items that match some conditions. My array look like this: ``` array = [{ name: 'Bob', age: 24 }, ...., { name: 'Mary', age: 23 }] ``` Rather than looping through the whole array I am trying to get an expression as simple an as elegant as my database request: ``` db.myCollection.find({ age: 23 }).count() ``` Is there any best practice? I was thinking of using the underscore library but I couldnt find what I am looking for. Many thanks for your help.

Original source