集合
集合是什么
+ 一直无序且唯一的数据结构
+ ES6中有集合,名为Set
+ 集合的常用操作:去重、判断莫元素是否在集合中、求交集...
//去重 const arr=[1,1,2,2] const arr2=[...new Set(arr)] //判断元素是否在集合中 const set=new Set(arr) const has=set.has(1) //求交集 const set2=new Set([2,3]) const set3=new Set([...set].filter(item =>{set2.has(item)}))
let mySet=new Set() mySet.add(1) mySet.add(5) mySet.add(5) mySet.add(('some text')) let o = {a :1 ,b:2} mySet.add(o) mySet.add({a :1 ,b:2}) const has =mySet.has(1) const has =mySet.has(3) const has =mySet.has('some text') const has =mySet.has(o) mySet.delete(5) for(let item of mySet) console.log(item) for(let item of mySet.keys()) console.log(item) for(let item of mySet.values()) console.log(item) for(let [key ,value] of mySet.entries()) console.log(key ,value) const myArr=[...mySet] const myArr=Array.from(mySet) const mySet2=new Set([1,2,3,4]) //交集 const intersection=new Set([...mySet].filter(x=>mySet2.has(x))) const difference=new Set([...mySet].filter(x=>!mySet2.has(x)))
技术要点
集合是一种无序且唯一的数据结构
es6中有集合,set
集合的常用操作:去重,判断莫元素是否在集合中、求交集