data(){
return {
<!--模拟数据-->
ArrayObject:[
{
id:1,
name:'小1'
},
{
id:2,
name:'小2'
},
{
id:3,
name:'小3'
},
{
id:4,
name:'小4'
},
{
id:5,
name:'小5'
},
{
id:5,
name:'小5'
},
{
id:5,
name:'小5'
},
{
id:5,
name:'小5'
},
{
id:5,
name:'小5'
},
]
}
},
ArrayObjectDuplicateRemoval( arr ){
let newArray = []
let obj = {}
for( let i = 0; i < arr.length; i++ ){
//判断当前数组是否含有当前项,如果没有就为false同时!取反再执行下面代码,如果有就为true同时!取反但不执行以下代码
if( !obj[arr[i].id] ){
newArray.push(arr[i])
obj[arr[i].id] = true //赋值为true是因为数组中已经存在当前项,所以再次判断时应该为true同时取反!为false,然后跳过当前判断
}
}
return newArray
}
this.ArrayObjectDuplicateRemoval( this.ArrayObject )
效果 [ { "id": 1, "name": "小1" }, { "id": 2, "name": "小2" }, { "id": 3, "name": "小3" }, { "id": 4, "name": "小4" }, { "id": 5, "name": "小5" } ]