js数组中属性相同去重

在JavaScript中,如果你想要去除数组中具有相同属性的重复对象,你可以使用一个新的Set对象和一个自定义的迭代器。以下是一个示例代码:

function uniqueByProperty(arr, prop) {
  const seen = new Set();
  return arr.filter((item) => {
    const key = item[prop];
    return seen.has(key) ? false : seen.add(key);
  });
}

// 示例数据
const items = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
  { id: 1, name: 'Alice' },
  { id: 3, name: 'Charlie' },
];

// 使用uniqueByProperty函数去重
const uniqueItems = uniqueByProperty(items, 'id');
console.log(uniqueItems);
posted @ 2024-11-08 10:47  Charles博客  阅读(129)  评论(0)    收藏  举报