一、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"]