1-1.Set的基本用法
Set是类似与数组的一种数组结构,不同点是Set没有重复的值Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的。另外,NaN和undefined都可以被存储在Set 中, NaN之间被视为相同的值(NaN被认为是相同的,尽管 NaN !== NaN)
var s=new Set()var s=new Set([1,2,3,3,4])console.log(s);
1-2.Set的size属性
var s=new Set([1,2,3,3,4])console.log(s.size); //去重后的长度4
1-3.添加元素add()
var s=new Set([1,2,3,3,4])s.add(5)console.log(s); //1,2,3,4,5
1-4.删除元素delete()
var s=new Set([1,2,3,3,4])s.delete(2)console.log(s); //1,3,4
1-5.判断是否含有某个值has()
var s=new Set([1,2,3,3,4])console.log(s.has(2)); //true
1-6.清除所有成员clear()
清除所有值的解构,没有返回值
var s=new Set([1,2,3,3,4])console.log(s.clear());
1-7.Set中的键值和键名
键值与键名相同
var s=new Set([1,2,3,4])for(let key of s.keys()){console.log(key); //1 2 3 4}for(let value of s.values()){console.log(value); //1 2 3 4}
1-8.遍历 for-of
var s=new Set([1,2,3,4])for(let item of s){console.log(item);}
1-9.forEach
var s=new Set([1,2,3,4])s.forEach(value=>{console.log(value);})
1-10.并集
// 并集var a=new Set([1,2,3])var b=new Set([4,5,6])var union=new Set([...a,...b])console.log(union);
1-11.交集
// 交集var a=new Set([1,2,3])var b=new Set([3,5,6])var intersect=new Set([...a].filter(x=>b.has(x)))console.log(intersect);
1-12.差集
var a=new Set([1,2,3])var b=new Set([3,5,6])var diff=new Set([...a].filter(x=>!b.has(x)))console.log(diff);
1-13.数组去重
Array.from()是ES6的方法
Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。
var a=new Set([1,2,2,3,3,4,5])var arr=Array.from(a)console.log(arr);
var a=new Set([1,2,2,3,3,4,5])console.log(a);//Set(5) {1, 2, 3, 4, 5}console.log([...a]);//[1, 2, 3, 4, 5]
