JSFiddle - React, Tailwind, and code Playground
HTML
<div ng-app="repeatModule">
<div ng-controller="repeatController">
Supplier List {{supplierList}}
<hr/><br/>
First Filter {{catFilter}}
<hr/><br/>
Second Filter {{cat1Filter}}
</div>
</div>
JavaScript
app = angular.module("repeatModule", []);
app.controller("repeatController", function ($scope, $filter) {
$scope.supplierList = [
{
"productname": "heliumcylinder",
"catagoriesName": "cylinder"
},
{
"productname": "boost",
"catagoriesName": "cylinder"
},
{
"productname": "test 3",
"catagoriesName": "cylinder"
},
{
"productname": "test1",
"catagoriesName": "cylinder"
},
{
"productname": "test5",
"catagoriesName": "cylinder"
},
{
"productname": "test6",
"catagoriesName": "gas"
},
{
"productname": "test6",
"catagoriesName": "test4"
},
{
"productname": "test16",
"catagoriesName": "test5"
},
{
"productname": "test10",
"catagoriesName": "test5"
},
{
"productname": "product1",
"catagoriesName": "test5"
}
];
angular.forEach($scope.supplierList, function(val, key){if(val.catagoriesName=="cylinder"){} });
$scope.catFilter = $filter('unique')($scope.supplierList,'catagoriesName');
$scope.cat1Filter = $filter('filter')($scope.supplierList, function(val, key){if(val.catagoriesName=="cylinder"){
console.log(val.productname);
return val;
}
},true)
console.log($scope.cat1);
});
app.filter('unique', function() {
return function(collection, keyname) {
var output = [],
keys = [];
angular.forEach(collection, function(item) {
var key = item[keyname];
if(keys.indexOf(key) === -1) {
keys.push(key);
...