- 使用new Set进行数组去重:
const arr = ['1', '2', '3', '1', '11', '2', '22', '33']
function uniqueArr(data = []) {
const res = [...new Set(data)]
return res
}
console.log(uniqueArr(arr))
// 输出结果:['1', '2', '3', '11', '22', '33']
- 循环遍历进行数组去重:
const arr = ['1', '2', '3', '1', '11', '2', '22', '33']
function uniqueArr(data = []) {
const arr = []
data.forEach(item=>{
if(!arr.includes(item)) {
arr.push(item)
}
})
return arr
}
console.log(uniqueArr(arr))
// 输出结果:['1', '2', '3', '11', '22', '33']
- 对象的数组去重:
const arr = [
{
"id": "1",
"name": "1-0"
},
{
"id": "2",
"name": "2-1"
},
{
"id": "3",
"name": "3-2"
},
{
"id": "1",
"name": "1-0"
},
{
"id": "11",
"name": "11-5"
},
{
"id": "2",
"name": "2-1"
},
{
"id": "22",
"name": "22-6"
},
{
"id": "33",
"name": "33-7"
}
];
function uniqueArr(data = []) {
const obj = {};
const arr = [];
data.forEach(item=>{
if(!obj[item.id]) {
arr.push(item);
}
obj[item.id] = true;
})
return arr;
}
console.log(uniqueArr(arr));
/*
输出结果:
[
{
"id": "1",
"name": "1-0"
},
{
"id": "2",
"name": "2-1"
},
{
"id": "3",
"name": "3-2"
},
{
"id": "11",
"name": "11-5"
},
{
"id": "22",
"name": "22-6"
},
{
"id": "33",
"name": "33-7"
}
]
*/