es6的set集合可以使用add()方法来增加元素。Set集合是一种数据结构,结构类似于数组,且没有重复的值;其内置的add()方法可以为集合添加元素,语法“set.add(值);”,添加完成后会返回Set结构本身。
本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。
Set集合:是一种数据结构,结构类似于数组,且没有重复的值。主要用于数组去重,字符串去重。
1、操作方法
(1)add():添加值,返回Set结构本身
let set = new Set() set.add(1); console.log(set); set.add(1).add(2).add(1) console.log(set) //注:拓展运算符 (...)可以将Set值扩展出来 console.log(...set) console.log([...set])
登录后复制
(2)delete():删除值,冰返回一个boolean表示是否删除成功(3)has():判断该 值是否存在,并返回一个Boolean
let set = new Set() set.add(1).add(2); let a = set.delete(1); console.log(set) //注:拓展运算符 (...)可以将Set值扩展出来 console.log(...set) console.log(a) set.delete(3) console.log(...set)
登录后复制
(3)has():判断该值是否存在,并返回一个Boolean
let set = new Set() set.add(1).add(2); let a = set.has(1);//true let b = set.has(3);//false console.log(a,b)
登录后复制
(4)clear():清除 所有值。没有返回值
let set = new Set(); set.add(1).add(2); set.clear(); console.log(set,[...set]);//Set(0){} []
登录后复制
2、遍历方法:
(1)由于Set只有键值没有键名,也 可以说键 和值 是同一个(键、值相同,可以省略),所以keys和values的返回值相同
let set = new Set(); set.add(1).add(2).add(3) for(let i of set.keys()){ //keys遍历 console.log(i) } for(let i of set.values()){ //values遍历 console.log(i) } set.add('hello').add('world'); for( let i of set.entries() ){ //打印键值对 console.log(i) }
登录后复制
(2)forEach():
let set = new Set(); set.add('hello').add('world'); set.forEach((key,val)=>{ console.log(key + '||' + val) })
登录后复制
(3)Set可以接受一个数组作为参数:
let arr = ['小红','小明','小强','小明']; let set = new Set(arr); console.log(...set)
登录后复制
(4)Set实现并集与交集:
let arr = [4,5,6]; let list = [5,6,7]; let setA = new Set(arr); let setB = new Set(list); //并集 :集合A与集合 B的并集A U B let bj = new Set([...setA,...setB]) console.log(bj)// 返回Set结构 Set(4) {4,5,6,7} //交集:集合A 与 集合B 的交集 A ∩ B let jj = new Set([...setA].filter(val => setB.has(val)))//通过 filter拿到符合条件的值 console.log(jj)//Set(2) { 5, 6 }
登录后复制
【