大厂面试练习题-数组去重


题目:数组去重

实现

普通的数组去重

// 利用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"));

文章作者: CassielLee
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 CassielLee !
评论
  目录