How to make ng-repeat filter out duplicate results

angularjs, angularjs-ng-repeat

Solution

You could use the unique filter from AngularUI (source code available here: AngularUI unique filter) and use it directly in the ng-options (or ng-repeat).

<select ng-model="orderProp" ng-options="place.category for place in places | unique:'category'">
    <option value="0">Default</option>
    // unique options from the categories
</select>

Problem

I'm running a simple `ng-repeat` over a JSON file and want to get category names. There are about 100 objects, each belonging to a category - but there are only about 6 categories. My current code is this: ``` <select ng-model="orderProp" > <option ng-repeat="place in places" value="{{place.category}}">{{place.category}}</option> </select> ``` The output is 100 different options, mostly duplicates. How do I use Angular to check whether a `{{place.category}}` already exists, and not create an option if it's already there? edit: In my javascript, `$scope.places = JSON data`, just to clarify

Original source

Related problems