如何获得独特的元素NG选项
问题描述:
我在上过滤字符串与NG选项
数组假设我有这种类型的
$scope.params.output = ["A","B","A","B","A","B"];
数组和HTML的问题
这种类型:
ng-options="item as item for item in params.output | unique : 'item'"
我选择渲染所有的数组,没有过滤它,我哪里得到错误?
答
使用本过滤。它会工作。
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
这段代码可以用于数组对象,并且你想要获得独特的对象。对于字符串数组,代码中有一个小修改。 –
是否包含相关的lib在[这个答案](https://stackoverflow.com/a/15941016/492258) –
HTTPS指出:// lodash .com/docs/4.16.4#uniq –
我认为你应该在params.output上添加独特的过滤器 –