对象去重

181 阅读1分钟

之前面试字节跳动,问我对象去重怎么写,我没写出来,于是去查缺补漏

假设后端返回的数据是这样的,然后要把后面重复的去掉

let json= [{
            name: '111'
        }, {
            name: '222'
        }, {
            name: '111',
            age: 18
        }]

使用map和find

let arr=[];
 json.map((item) => {
            if (!arr.find(b => b.name == item.name)) {
                arr.push(item)
            }
        })

输出

        console.log(arr)

(2) [{…}, {…}]

0: name: "111"proto: Object

1: name: "222"proto: Object