Discuss / JavaScript / 这种情况Set不会去重吗?哪位大神解答一下

这种情况Set不会去重吗?哪位大神解答一下

Topic source

断桥-过后

#1 Created at ... [Delete] [Delete and Lock User]
var arr=[{a:1},{a:1},{a:2},{a:3},{a:3}];
var s=new Set(arr);
console.log(s);

断桥-过后

#2 Created at ... [Delete] [Delete and Lock User]

是不是因为数组中每个元素是对象,而对象的指针不同,所以每个元素实际上是不同的,所以不会去重?

是的 这样可以去重 var arr=[{a:1},{a:1},{a:2},{a:3},{a:3}]; var mapObj = new Map(arr); arr.filter(obj=> { return !mapObj.has(obj[a]) && mapObj.set(obj[a],1) })

var mapObj = new Map();


  • 1

Reply