一、Set
1.定义
Set对象是ES6中新定义的数据结构,类似于数组,它允许你存储任何类型的唯一值,不管是原始值还是对象引用。
2.语法
new Set([iterable])
- iterable:可迭代对象,默认为空。
Set方法
- add:添加值,返回Set本身。
- delete:删除值,返回是否删除成功。
- has:判断是否拥有这个值,返回true/false。
- clear:清除所有值。
3.示例
let s = new Set();
s.add(4);
s.add(1);
s.add(3);
s.add(3);
s.add(2);
s.add(2);
console.log(s); // {4, 1, 3, 2}
console.log(s.has(4)); // true
s.delete(4);
console.log(s); // {1, 3, 2}
console.log(s.has(4)); // false
s.clear();
console.log(s); // {}
二、通过Set数组去重
利用扩展运算符可以将Set转换成真正意义上的数组。
let arr = [4, 1, 3, 3, 2, '2'];
let uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [4, 1, 3, 2, "2"]