TwKit
正在载入
TwKit

JavaScript 的 Set 除了去重,还能直接比较两个集合。七个集合方法可以分成两类:四个返回新集合,三个只回答 true 或 false。 unio… · @BaiBtw · TwKit

@BaiBtw

JavaScript 的 Set 除了去重,还能直接比较两个集合。七个集合方法可以分成两类:四个返回新集合,三个只回答 true 或 false。 union 合并两边的元素,重复的只留一份;intersection 只留下两边都有的元素;difference 留下左边有、右边没有的;symmetricDifference 留下只出现在一边的元素,把共同部分排除。 比如 A 是苹果、香蕉、梨,B 是香蕉、桃。A.union(B) 得到四种水果,A.intersection(B) 只剩香蕉。A.difference(B) 是苹果和梨,反过来 B.difference(A) 就只剩桃;A.symmetricDifference(B) 则是苹果、梨、桃。差集有方向,对称差集同时看两边。 只想判断关系时,A.isSubsetOf(B) 检查 A 的所有元素是否都在 B 里,A.isSupersetOf(B) 检查 A 是否包含 B 的所有元素,A.isDisjointFrom(B) 检查两边是否完全没有共同元素。 这些操作返回的是新集合或布尔值,不会把原来的集合改成结果。但 Set 对对象按引用判断是否相同:两个字段完全一样、分别创建的对象,仍会被当作两个元素。普通数组也不能直接当作这些方法的参数,要先转成 Set。

曝光 75 · 评论 1 · 点赞 2 · 书签 0

查看原帖