如何获得独特的元素NG选项

问题描述:

我在上过滤字符串与NG选项

如何获得独特的元素NG选项

数组假设我有这种类型的

$scope.params.output = ["A","B","A","B","A","B"]; 

数组和HTML的问题

这种类型:

ng-options="item as item for item in params.output | unique : 'item'" 

我选择渲染所有的数组,没有过滤它,我哪里得到错误?

+0

是否包含相关的lib在[这个答案](https://stackoverflow.com/a/15941016/492258) –

+0

HTTPS指出:// lodash .com/docs/4.16.4#uniq –

+0

我认为你应该在params.output上添加独特的过滤器 –

在code.Copy这个js添加unique.js并将其放置在单独的js文件并将其附加到你的代码

使用本过滤。它会工作。

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); 
       output.push(item); 
      } 
     }); 

     return output; 
    }; 
}); 

模板

<div ng-repeat="item in items | unique: 'id'"></div> 
+0

这段代码可以用于数组对象,并且你想要获得独特的对象。对于字符串数组,代码中有一个小修改。 –