在一次对后端返回的对象数组的操作时想通过indexOf()或者includes()的方法来实现对对象数组的去重但是行不通,因为用indexOf()返回的都是-1,一下记录两种对象数组(更具指定属性)去重的方法。
- ES6的Map方法
unique(arr,u_key) {
let map = new Map()
arr.forEach((item,index)=>{
if (!map.has(item[u_key])){
map.set(item[u_key],item)
}
})
return [...map.values()];
};
- forEach()和findIndex()方法
let list = this.listOfData.filter((data,indx,self) => {
return self.findIndex((data1) => data1.equipType == data.equipType)==indx;
});