数组对象去重

Posted wgy0528

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组对象去重相关的知识,希望对你有一定的参考价值。

数组对象去重

准备数据

var arr = [{
                "CompanySerial": "123",
                "id": "1",
                "number": 2,
            },
            {
                "CompanySerial": "456",
                "id": "1",
                "number": 2
            }, {
                "CompanySerial": "789",
                "id": "3",
                "number": 1
            }
        ]

处理数据

一:通过findIndex()查找的方式去重

let arr3 = []
        arr.forEach((item, index) => {
            let b = arr3.findIndex(o => o.id === item.id) == -1;
            if (b) {
                arr3.push({
                    CompanySerial: item.CompanySerial,
                    id: item.id,
                    number: item.number

                })
            }
        })
        console.log(arr3);

2:通过对象hasOwnProperty方法()

hasOwnProperty() 是判断对象实例的是否具有某个属性。

function fn(arr) {
            const res = {};
            return arr.filter(a => {
                return !res.hasOwnProperty(a.id) && (res[a.id]=1);
            })
        }
        var myData = fn(arr);
        console.log(myData);

以上是关于数组对象去重的主要内容,如果未能解决你的问题,请参考以下文章

对象数组去重

ES6 数组内对象去重

数组对象去重

(去重)JS比较两个数组对象,取出不同的值

js利用Map对两个数组对象进行合并去重

JavaScript 之 普通数组对象数组的去重(涉及多个场景)