var arr = [
{ name: "zhang", age: "1" },
{ name: "zhang", age: "2" },
{ name: "li", age: "3" },
{ name: "li", age: "3" },
{ name: "wu", age: "5" },
{ name: "song", age: "6" },
{ name: "zhao", age: "3" },
{ name: "han", age: "2" },
{ name: "wu", age: "5" },
];
//第一种使用reduce去重
let obj = {};
arr = arr.reduce((acc, cur) => {
obj[cur.age] ? "" : (obj[cur.age] = true && acc.push(cur));
return acc;
}, []);
console.log(arr);
//第二种filter过滤去重
unique(arr){
const res = new Map();
return arr.filter(
(arr) => !res.has(arr.age) && res.set(arr.age, 1)
);
};
let Arr = unique(arr);
console.log(Arr, "Arr");
//第三种把名称和年龄全部一样的去重,有一样不重复就不去重
let obj = {};
arr = arr.reduce((acc, cur) => {
obj[cur.age && cur.name] ? "" : (obj[cur.age && cur.name] = true && acc.push(cur));
return acc;
}, []);
console.log(arr,'arr')
js数组对象去重
于 2023-02-02 09:25:45 首次发布