去除重复元素要分两类,一类是JSON数组,一类是普通数组
JSON数组要注意一点,如果对象的指针指向不一样,那么就算属性完全相同,也不能算作重复元素,所以我这里根据对象的唯一标识判断是否重复
上代码
Array.prototype.duplicate=function(isObj=false,prop){
if(isObj==false){
let set = new Set(this)
let arr = Array.from(set)
return arr
}else{
let arr = []
for(let i=0; i<this.length; i++){
for(var j =0;j<i;j++){
if(this[i][prop] == this[j][prop]){
break
}
}
if(i==j){
arr[arr.length] = this[i]
}
}
return arr
}
}
let arr = [{id:1,name:"小胖娃娃"},{id:1,name:"小娃娃"}]
console.log(arr.duplicate(true,"id"))