一尘不染

如何使ng-repeat过滤出重复的结果

angularjs

我正在运行一个简单ng-repeat的JSON文件,并希望获取类别名称。大约有100个对象,每个对象都属于一个类别-但是只有大约6个类别。

我当前的代码是这样的:

<select ng-model="orderProp" >
  <option ng-repeat="place in places" value="{{place.category}}">{{place.category}}</option>
</select>

输出是100个不同的选项,大部分重复。我该如何使用Angular来检查a是否{{place.category}}已经存在,如果已经存在则不创建选项?

编辑:在我的javascript中$scope.places = JSON data,只是为了澄清


阅读 250

收藏
2020-07-04

共1个答案

一尘不染

您可以使用AngularUI 的 唯一
过滤器(此处提供源代码:AngularUI唯一过滤器),然后直接在ng-options(或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>
2020-07-04