1.for循环
let arr1 = ['11','22','22','33','33','44']
let result = []
arr1.forEach(it=>{
if(result.indexOf(it) === -1) {
result.push(it)
}
})
console.log(result)
let arr1 = [{id:11,name:'aa'},{id:11,name:'bb'},{id:22,name:'cc'},{id:22,name:'dd'},{id:33,name:'ee'}]
let result = []
arr1.forEach(it=>{
if(result.findIndex(obj => obj.id === it.id) === -1) {
result.push(it)
}
})
console.log(result)
2.reduce
let arrList = [1,2,2,3,3,4,5];
let list = arrList.reduce((prev,cur)=>{
if(prev.indexOf(cur) === -1) {
prev.push(cur)
}
return prev
},[])
console.log(list)
let arrList = [
{id:'111',name:'aaaa'},
{id:'222',name:'bbbb'},
{id:'111',name:'cccc'},
{id:'333',name:'dddd'},
{id:'444',name:'eeee'},
{id:'333',name:'ffff'},
];
let obj = {}
let list = arrList.reduce((prev,cur)=>{
if(!obj[cur.id]) {
obj[cur.id] = true;
prev.push(cur)
}
return prev
},[]);
console.log(list)
3. set
const arr = ["aa","js","html","js","css","html"];
const result = [...new Set(arr)];
console.log(result);
4.filter与map
let arr1 = [{id:11,name:'aa'},{id:11,name:'bb'},{id:22,name:'cc'},{id:22,name:'dd'},{id:33,name:'ee'}]
let result = []
let map = new Map()
result = arr1.filter(item => !map.has(item.id) && map.set(item.id,true))
console.log(result)