我试图摆脱带有数组的重复项,但是我试图摆脱那些重复项的原始内容,而只是留下所有没有重复过的东西
示例:
const jsonarray = [{num: 1}, {num: 1}, {num: 2}, {num: 3}, {num: 5}, {num: 5}];
这就是我想要的结果
[{num: 2}, {num: 3}];
我已经尝试过使用嵌套的for循环进行拼接,但是这种方法没有任何帮助。
答案 0 :(得分:-1)
var track = jsonarray.length;
for(var i = 0; i < track; i++) {
var duplicate = false;
for(var j = 0; j < jsonarray.length; j++) {
if(i != j && jsonarray[i] == jsonarray[j]) {
duplicate = true;
jsonarray.splice(j, 1);
if(j < i) {
i--;
track--;
}
}
}
if(duplicate) {
jsonarray.splice(i, 1);
i--;
track--;
}
}
答案 1 :(得分:-1)
const jsonarray = [{num: 1}, {num: 1}, {num: 2}, {num: 3}, {num: 5}, {num: 5}];
// filter out all the elements that have the same num but different indexes
const filtered = jsonarray.filter((a, indexA) => !jsonarray.find((b, indexB) => b.num === a.num && indexA !== indexB));
console.log(filtered);