我在用Set存储用户对象时发现,即使两个对象的属性完全相同,Set还是会把它们当作不同元素。比如:
const set = new Set();
const obj1 = { id: 1, name: 'Alice' };
const obj2 = { id: 1, name: 'Alice' };
set.add(obj1);
set.add(obj2);
console.log(set.size); // 输出2,但期望是1
我试过把对象转成字符串再存,但感觉这样很笨拙。有没有更好的办法让Set根据对象内容判断重复?
或者自己实现个内容比较函数也行,但序列化更省事。