var app = angular.module('app', [])
.filter('similar', function() {
return function(input, comparedObject) {
console.log(comparedObject);
var newArray = [];
for (i = 0; i < input.length; i++) {
if (input[i].itemType === comparedObject.itemType) {
newArray.push(input[i]);
}
}
return newArray;
}
});
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.baseObject = {
name: 'fred',
itemType: 1
};
$scope.castList = [
{
name: 'wilma',
itemType: 2
}, {
name: 'bam-bam',
itemType: 1
}, {
name: 'barney',
itemType: 1
}, {
name: 'dino',
itemType: 3
}
];
});
<!DOCTYPE html>
<html ng-app="app">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>
document.write('<base href="' + document.location + '" />');
</script>
<link rel="stylesheet" href="style.css" />
<script data-require="angular.js@1.3.x" src="https://code.angularjs.org/1.3.10/angular.js" data-semver="1.3.10"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<h3>Which cast members are similar to Fred?</h3>
<div ng-repeat="person in castList | similar : baseObject">
<p>{{person.name}}</p>
</div>
</body>
</html>
/* Put your css in here */