function uniqueBy(arr, key) {
const seen = new Set();
return arr.filter((item) => {
const serializedKey = JSON.stringify(key(item));
return seen.has(serializedKey) ? false : seen.add(serializedKey);
});
}
// 示例数据
const data = [
{ id: 1, name: 'Alice', age: 25 },
{ id: 2, name: 'Bob', age: 27 },
{ id: 1, name: 'Alice', age: 25 }, // 重复项
{ id: 3, name: 'Charlie', age: 22 },
{ id: 4, name: 'Charlie', age: 23 }
];
// 使用uniqueBy函数去重
const uniqueData = uniqueBy(data, JSON.stringify);
console.log(uniqueData);