js set的使用
ECMAScript 6 新增了 Set数据类型
1.创建set实例
let s1 = new Set(); let s2 = new Set(['一','二','三','四','四','五','一']);
Set结构不会添加重复的值,可以用于去重。
2.set实例转数组
Array.from(s2)//['一', '二', '三', '四', '五']
3.size属性获取set实例元素个数
s1.size();//0 s2.size();//5
4.add()添加元素
s1.add('五四')//['五四']
s2.add(12143).add('一')//['一', '二', '三', '四', '五', 12143]
5.has()查询set实例是否存在某元素
s2.has(12143); // true s2.has('六'); // false
6.delect() 删除set实例中某个元素
s2.delete(12143) //true s2.delete('六') //false
7.clear()清空实例
8.应用场景
- 数组去重
let arr1 = [...s2];
let arr2 = Array.from(s2)
- 字符串去重
let string = '一二三四五四五六六七'; let sset = [...new Set(string)].join('') //一二三四五六七
- 交集,并集,差集
let u1 = new Set ([1,2,3,4,'一','二']) let u2 = new Set(['一','二','三','四','五']) //并集 let u3 = new Set([...u1,...u2]) //Set(9) {1, 2, 3, 4, '一', …} //交集 let u4 = new Set([...u1].filter(x=>u2.has(x)))//Set(2) {'一', '二'} //u1相当于u2的差集 let u5 = new Set([...u1].filter(x=>!u2.has(x)))//Set(4) {1, 2, 3, 4}

浙公网安备 33010602011771号