const arr2 = [1, 5, 3, 6, 4, 8, 1, 3, 6];
console.log("Set", [...new Set(arr2)], Array.from(new Set(arr2)));
function deduplication(arr) {
return arr.reduce((cur, next) => {
if (cur.indexOf(next) < 0) {
cur.push(next);
}
return cur;
}, []);
}
const arr3 = [
{ id: "1", name: "张三" },
{ id: "2", name: "李四" },
{ id: "3", name: "王五" },
{ id: "2", name: "李四" },
{ id: "1", name: "张三" },
];
function deduplication2(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i].id === arr[j].id) {
arr.splice(j, 1);
i--;
}
}
}
return arr;
}
function deduplication3(arr) {
const arrId = [];
return arr.reduce((cur, next) => {
if (arrId.indexOf(next.id) < 0) {
cur.push(next);
arrId.push(next.id);
}
return cur;
}, []);
}
console.log("deduplication", deduplication(arr2));
console.log("deduplication2", deduplication2(arr3));
console.log("deduplication3", deduplication3(arr3));