数组对象去重

数组对象去重

准备数据

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);
posted @ 2020-07-26 22:37  Angel-01  阅读(267)  评论(0编辑  收藏  举报