ng-repeat で重複結果を除外する方法 質問する

ng-repeat で重複結果を除外する方法 質問する

JSON ファイルに対して単純な処理を実行してng-repeat、カテゴリ名を取得したいと考えています。約 100 個のオブジェクトがあり、それぞれがカテゴリに属していますが、カテゴリは約 6 つしかありません。

現在のコードは次のとおりです:

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

出力は 100 個の異なるオプションで、ほとんどが重複しています。Angular を使用して、オプションが{{place.category}}既に存在するかどうかを確認し、既に存在する場合はオプションを作成しないようにするにはどうすればよいですか?

編集:私のJavaScriptでは$scope.places = JSON data、明確にするために

ベストアンサー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>

おすすめ記事