Angular.js filter by exact values (strict equality)
angularjs, javascript
Solution
As of Angular 1.2, you just need to add the strict parameter (true) to the filter so that it looks for an exact match, and pass `2` as a number instead of a string: `filter:{age:2}:true`
angular.module('myApp', [])
.controller('myCtrl', function($scope) {
$scope.friends = [
{name: "Peter", age: 2 },
{name: "Pablo", age: 55},
{name: "Linda", age: 20},
{name: "Marta", age: 37},
{name: "Othello", age: 20},
{name: "Markus", age: 32}
];
})
;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myApp" ng-controller="myCtrl">
<ul ng-repeat="friend in friends | filter:{age:2}:true | orderBy: 'name' ">
<li>{{friend.name}}</li>
</ul>
</body>
Problem
I have following html code ``` <ul ng-repeat="friend in friends | filter: { age: '2' } | orderBy: 'name' "> <li>{{friend.name}}</li> </ul> ``` Here is my $scope variable ``` $scope.friends = [ { name: "Peter", age: 2 }, { name: "Pablo", age: 55 }, { name: "Linda", age: 20 }, { name: "Marta", age: 37 }, { name: "Othello", age: 20 }, { name: "Markus", age: 32 } ]; ``` It returns ``` Linda Markus Othello Peter ``` How the comparison work in ng filter and How do i get friend having age 2 only ``` Peter ```