使用reduce去重
使用场景:一般的数组去重,可以使用,new Set()等等,但是对象数组去重使用一般方法就比较麻烦,这时可以使用reduce。
reduce 方法接受两个参数:一个回调函数和一个初始值。回调函数可以接受四个参数:初始值(或者上一次回调函数的返回值),当前元素(current value),当前索引(index)和数组本身(array)
let dataList = [
{name:'Tom',id:1,age:14},
{name:'jack',id:2,age:15},
{name:'kivin',id:1,age:14},
{name:'jan',id:3,age:16},
{name:'jordon',id:4,age:15},
]
使用reduce去重
let obj = {}
let newDataList = []
newDataList =dataList.reduce((pre,cru)=>{
return obj[cru.id]? pre:obj[cru.id]=true&&[...pre,cru]
},[])