1.数组去重
var unique = (arr) => [...new Set(arr)] console.log(unique([1, 2, 3, 1]));
2.set转为数组
// Array.from(set)和展开set作用一样,都是把set转为数组 var set2 = new Set(['a', 'b']) console.log(Array.from(set2));// ['a','b'] console.log([...set2]); // ['a','b']
3.遍历set集合的三种方法
// (1) set使用forEach遍历【最简洁了】 set2.forEach(v => console.log(v)) // (2) set使用for of遍历 for (let x of set2) { console.log(x); } //(3) set 展开遍历 [...set2].forEach(v => console.log(v))
4. set 和filter()一起使用
var set3 = new Set([1, 2, 3, 4]) var arr = new Set([...set3].filter(v => v > 2)) console.log([...arr]);// [3,4]
5. set的并集,交集,差集
// set的并集(相当于数组合并) var set4 = new Set([1, 2, 3]) var set5 = new Set([2, 4, 6]) console.log([...set4, ...set5]); // [1,2,3,2,4,6] // set的交集 console.log([...set4].filter(v => set5.has(v))); // [2] // set的差集 console.log([...set4].filter(v => !set5.has(v))); // [1,3] 差集是在a不在b的元素