gpt4 book ai didi

AngularJs 删除 ng-repeat 中的重复元素

转载 作者:行者123 更新时间:2023-12-02 19:22:00 25 4
gpt4 key购买 nike

我有一本字典,存储在 field_detail

<li ng-repeat = "field in field_detail">{{field.displayName}}</li>

现在我不想包含 field_detail 的重复 displayName ,我应该使用什么filter

最佳答案

只需创建一个过滤器来获取唯一值(可能通过键)。像这样的事情应该做(我根本没有测试这个,所以我把这个事情留给你,这只是为了给你一个想法):

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>

注意:Array.indexOf() 在 IE8 中不起作用,因此如果您支持 IE8,则需要在 indexOf() 中 stub ,或者需要使用方法略有不同。

其他想法:如果您已经引用了这些库,那么最好创建一个利用 lowdash 或下划线中的独特功能的过滤器。

关于AngularJs 删除 ng-repeat 中的重复元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20222555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com