gpt4 book ai didi

javascript - 如何过滤掉对象数组的重复项

转载 作者:行者123 更新时间:2023-11-28 18:49:33 25 4
gpt4 key购买 nike

我有一个如下所示的对象数组:

$scope.SACCodes = [
{'code':'023', 'description':'Spread FTGs', 'group':'footings'},
{'code':'024', 'description':'Mat FTGs', 'group':'footings'},
{'code':'025', 'description':'CONT. FTGs', 'group':'footings'},
{'code':'025', 'description':'CONT. FTGs', 'group':'levels'},
{'code':'023', 'description':'Trucks', 'group':'footings'}
]

我需要过滤掉 codegroup 重复的重复项。如果只有其中一个相同,则不应将其过滤掉。

最佳答案

这是另一种基于 TLindig's answer to a similar question 的方法.

向范围添加过滤方法:

$scope.onlyUnique = function(value, index, self) { 
codes = self.map(function(c) {return c.code});
groups = self.map(function(c) {return c.group});
return codes.indexOf(value.code) === index || groups.indexOf(value.group) === index;

在 ng-repeat 中或任何需要唯一值的地方调用过滤方法:

<div ng-repeat="c in SACCodes.filter(onlyUnique)">code: {{c.code}} desc: {{c.description}} group: {{c.group}}</div>

输出:

code: 023 desc: Spread FTGs group: footings
code: 024 desc: Mat FTGs group: footings
code: 025 desc: CONT. FTGs group: footings
code: 025 desc: CONT. FTGs group: levels

关于javascript - 如何过滤掉对象数组的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34698404/

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