Использовать метод фильтра массива.Я добавил фрагмент кода.
var app = angular.module('myApp', []);
app.controller('myctrl', function ($scope) {
$scope.friends = [
{ name: "Peter", age: 20 },
{ name: "Pablo", age: 55 },
{ name: "Linda", age: 20 },
{ name: "Marta", age: 37 },
{ name: "Othello", age: 20 },
{ name: "Markus", age: 32 }
];
var len = $scope.friends.filter(function(friend){
if( friend.age == 20 ){
return friend;
}
}).length;
console.log("length=" + len);
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myctrl"></div>
Вот лучший подход, использующий сервис $filter
, представленный в angularjs.
var app = angular.module('myApp', []);
app.controller('myctrl', function ($scope, $filter) {
$scope.friends = [
{ name: "Peter", age: 20 },
{ name: "Pablo", age: 55 },
{ name: "Linda", age: 20 },
{ name: "Marta", age: 37 },
{ name: "Othello", age: 20 },
{ name: "Markus", age: 32 }
];
var len = $filter('filter')($scope.friends, {'age' : 20}).length;
console.log("length=" + len);
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myctrl">