js过滤数组对象中重复数据

工作中,常常遇到[{id:1,name:'ming'},{id:2,name:'ming2'},{id:1,name:'ming'}] 这样的数据对象,如果想过滤掉id重复的数据,如何实现比较简单。这里需要利用到es6的reduce和findIndex,具体写法如下

const arr = [{id:1,name:'ming'},{id:2,name:'ming2'},{id:1,name:'ming'}] 
const newArr = arr.reduce(function (tempArr, item) {
    if (tempArr.findIndex((ele) => ele.id === item.id) === -1) {
        tempArr.push(item)
    }
    return tempArr
}, [])

这是道经典的面试题哦,也是工作中会用到的。


版权声明:本文为supming1原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。