题目:数组去重
实现
普通的数组去重
// 利用set数据结构
const uniqBy = (arr) => {
return [...new Set(arr)];
};
// 同理,字符串去重
const uniqBy = (str) => {
return [...new Set(str)].join("");
};
对象数组去重
// 利用Map结构键不能重复的特点
const uniqBy = (arr, key) => {
return [...new Map(arr.map((item) => [item[key], item])).values()];
};
const singers = [
{ id: 1, name: "Leslie Cheung" },
{ id: 1, name: "Leslie Cheung" },
{ id: 2, name: "Eason Chan" },
];
console.log(uniqBy(singers, "id"));