如何消除重复项及其原始数组

时间:2019-09-04 01:12:51

标签: javascript arrays

我试图摆脱带有数组的重复项,但是我试图摆脱那些重复项的原始内容,而只是留下所有没有重复过的东西

示例:

 const jsonarray = [{num: 1}, {num: 1}, {num: 2}, {num: 3}, {num: 5}, {num: 5}];

这就是我想要的结果

 [{num: 2}, {num: 3}];

我已经尝试过使用嵌套的for循环进行拼接,但是这种方法没有任何帮助。

2 个答案:

答案 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);