You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
leta=newSet([1,2,3])letb=newSet([4,3,2])// 并集letunion=newSet([...a, ...b])// Set {1, 2, 3, 4}// 交集letintersect=newSet([...a].filter(x=>b.has(x)))// set {2, 3}// 差集letdifference=newSet([...a].filter(x=>!b.has(x)))// Set {1}
The text was updated successfully, but these errors were encountered:
3.Set数据结构
JavaScript 原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6 又添加了Map和Set。
实例化Set
ES6 提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
特性和用法
1.针对Set数据结构元素不重复的特性,可以很简单的对数组去重
也可以用于字符串去重
2.向 Set 加入值的时候,不会发生类型转换,所以5和"5"是两个不同的值。Set内部判断两个值是否不同,使用的算法类似于精确相等运算符(===),主要的区别是在Set内部NaN等于自身,而精确相等运算符认为NaN不等于自身。
另外,两个对象总是不相等的。
Set实例的属性和方法
Set 结构的实例有以下属性。
Set 实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员)。下面先介绍四个操作方法。
另外,除了之前的[...set]这种方式把set类型转换成数组外,Array的from()方法也可以。
遍历操作
Set结构的实例有四个遍历方法,可以用于遍历成员。
keys(),values(),entries()
keys方法、values方法、entries方法返回的都是遍历器对象(也就是Iterator对象)。由于Set结构没有键名,只有键值(或者说键名和键值是同一个值),所以keys方法和values方法的行为完全一致。
另外,Set结构的实例默认可遍历,它的默认遍历器生成函数就是它的values方法。
forEach()
Set结构的实例与数组一样,也拥有forEach方法,用于对每个成员执行某种操作,没有返回值。
Array和Set组合应用
The text was updated successfully, but these errors were encountered: