- 双循环 splice 删除重复
let arr = [
{id:1,name:'vue'},
{id:2,name:'react'},
{id:2,name:'react'},
{id:3,name:'node'},
{id:4,name:'html'},
{id:5,name:'javascript'},
{id:6,name:'div'},
{id:6,name:'div'}
]
function deduplication(o){
const n = [...o]
for(let i=0;i<n.length-1;i++){
for(let j=i+1;j<n.length;j++){
if(n[i].id===n[j].id){
n.splice(j,1)
j--
}
}
}
return n
}
- for循环遍历 map检查数据是否存在
function deduplication(o){
const n = new Map()
for(let i=0;i<o.length;i++){
if(!n.has(o[i].id)){
n.set(o[i].id,o[i])
}
}
return [...n.values()]
}```