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:
Set 实例的属性和方法
操作方法
遍历操作
可以解决的问题
数组去重
Set 本身是一个构造函数,用来生成 Set 数据结构。Set 函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。
从chrome的控制台我们可以看到实例自身的属性和方法。
为什么
Array.from
可以接受set实例作为参数?我们来看看它的解释:tips: 所谓类似数组的对象,本质特征只有一点,即必须有length属性。因此,任何有length属性的对象,都可以通过Array.from方法转为数组,而此时扩展运算符(展开运算符)就无法转换。因为扩展运算符背后调用的是遍历器接口(Symbol.iterator),如果一个对象没有部署这个接口,就无法转换。对于还没有部署该方法的浏览器,可以用Array.prototype.slice方法替代。
实现数组的并集(Union)、交集(Intersect)和差集(Difference)
The text was updated successfully, but these errors were encountered: