Set的值是具有唯一性的
Set方法
- add(value):添加某个值,返回Set结构本身。
- delete(value):删除某个值,返回一个布尔值,表示删除成功。
- has(value):返回一个布尔值,表示参数是否为Set的成员。
- clear():清除所有成员,没有返回值。
- keys() :返回一个键名的遍历器
- values() :返回一个值的遍历器
- entries() :返回一个键值对的遍历器
- forEach():使用回调函数遍历每个成员
Set例子
在项目中超实用的例子;删除数组中的对象
const set = new Set([1, 2, 3, 4, 5, 6])
set.delete(2); // true
因为Set的唯一性所以我们在处理后台接口的数据是 可用作数据去重
绝对好用
let arr = [1, 2, 3, 2, 4, 5, 4, 1];
let set = new Set(arr);
let arr_unique = Array.from(set); //打印结果//[1, 2, 3, 4, 5]
当然也可实现交集和并集
let a = new Set([1, 2, 3]);
let b = new Set([4, 3, 2]);
let union = new Set([...a, ...b]);
union;// [1, 2, 3, 4]
let intersect = new Set([...a].filter(x => b.has(x)));
intersect;// [2, 3]