【发布时间】:2019-03-02 00:19:00
【问题描述】:
我似乎只能找到使用其他 JS 库从数组中删除重复项的方法,但我希望在纯 JS 或 typescript 中执行此操作,因为我正在处理一个 Angular 项目。
我的问题是我可能会得到一个包含重复条目的数组,例如这个:
data [0: {Id: 1, Definition: "House"},
1: {Id: 1, Definition: "House"}]
我想过滤掉它,以便我只得到
data [0: {Id: 1, Definition: "House"}]
我已经尝试过使用这种方法,但我仍然得到重复的条目
let uniqueArray = data.filter(function(item, pos) {
return data.indexOf(item) == pos;
})
【问题讨论】:
-
这
data.indexOf(item) == pos在您的情况下将始终为真,因为 find 将测试对象身份。您需要类似:jsfiddle.net/khrismuc/hnLowjy2 -
你想如何过滤掉重复的条目?是不是只基于id键?
-
@Ashish 比较 ID 或 "Definition" 中的字符串...两者都可以工作
标签: javascript arrays typescript duplicates