JavaScript中对象数组去重方法

在一次对后端返回的对象数组的操作时想通过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;
	 });