let set =newSet([1,4,9])set.forEach((value, key) =>console.log(key +' : '+ value))
遍历的应用
扩展运算符(...)内部使用 for...of 循环,所以也可以用于 Set 结构
let set =newSet(['red','green','blue'])let arr = [...set]// ['red', 'green', 'blue']
扩展符和 Set 结构相结合,就可以去除数组的重复成员
let arr = [3,5,2,2,5,5]let unique = [...newSet(arr)]// [3, 5, 2]
而且,数组的 map 和 filter 方法也可以间接用于 Set 了
let set =newSet([1,2,3])set =newSet([...set].map(x => x *2))// 返回 Set 结构: {2, 4, 6}let set =newSet([1,2,3,4,5])set =newSet([...set].filter(x => (x %2) ==0))// 返回 Set 结构: {2, 4}
并集、交集、差集
let a =newSet([1,2,3])let b =newSet([4,3,2])// 并集let union =newSet([...a,...b])// Set {1, 2, 3, 4}// 交集let intersect =newSet([...a].filter(x =>b.has(x)))// Set {2, 3}// 差集let diif =newSet([...a].filter(x =>!b.has(x)))// Set {1}