文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

es6的set集合怎么增加元素

2023-05-14 21:59

关注

es6的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 }

在这里插入图片描述

【相关推荐:javascript视频教程、编程视频】

以上就是es6的set集合怎么增加元素的详细内容,更多请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯