es6的set集合如何增加元素
本篇内容介绍了“es6的set集合如何增加元素”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
es6的set集合可以使用add()方法来增加元素。Set集合是一种数据结构,结构类似于数组,且没有重复的值;其内置的add()方法可以为集合添加元素,语法“set.add(值);”,添加完成后会返回Set结构本身。
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);//truelet b = set.has(3);//falseconsole.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 Blet bj = new Set([...setA,...setB])console.log(bj)// 返回Set结构 Set(4) {4,5,6,7}//交集:集合A 与 集合B 的交集 A ∩ Blet jj = new Set([...setA].filter(val => setB.has(val)))//通过 filter拿到符合条件的值console.log(jj)//Set(2) { 5, 6 }
“es6的set集合如何增加元素”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341