'ng-repeat' How to get the `unique` values 'ng-repeat' How to get the `unique` values angularjs angularjs

'ng-repeat' How to get the `unique` values


AngularJS doesn't include a unique filter by default. You can use the one from angular-filter. Just include the JavaScript

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-filter/0.5.8/angular-filter.min.js"></script>

and include the dependeny in your app:

var app = angular.module('myApp', ['angular.filter']);

Your code should work right away! I edited your Plunker so it works.


I think you are looking for an answer like this

var app = angular.module('plunker', []);app.controller('MainCtrl', function($scope) {  $scope.projectNames=projects  $scope.Id = "1";  $scope.SubProjectName="Retail Building";}).filter('unique', function() {  return function(projects, subProjectName) {    var newprojects =[];    projects.forEach(function(project){      if(project.SubProjectName === subProjectName)        newprojects.push(project);    });    return newprojects;  };});

<li ng-repeat="project in projectNames | unique:SubProjectName">{{project.SubProjectName}}</li>

Demo


The unique filter you are probably attempting to use comes from AngularUI, so you need to include it:

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui/0.4.0/angular-ui.js"></script>

and add it as module dependency:

var app = angular.module('plunker', ['ui.filters']);