工作中,常常遇到[{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
}, [])
这是道经典的面试题哦,也是工作中会用到的。