ES6学习Set 、Map(六)

这里写目录标题

一、Set

Set类似于数组,但是成员的值都是唯一的,没有重复的值。

js 复制代码
            let set=new Set();
            set.add(2);
            set.add('4');
            set.add('4');//这个4会被忽略,因为集合表示无重回复值的有序列表        
            console.log(set);//set(2) {2, "4"}
            set.add([1,2,3]);//也可以添加数组
            console.log(set);//Set(3) {2, '4', Array(3)}
            
            set.delete(2);//删除元素
            console.log(set);//set(2) {'4', Array(3)}

            //校验某个值是否在set中has()
            console.log(set.has('4'));//返回 true

            //结合长度
            console.log(set.size);

            //Set 函数接受数组作为参数
            let set2=new Set([1,2,3,4]);
            //set转换为数组
            let arr = [...set2];
            console.log(arr);

二、WeakSet

WeakSet结构与Set类似,也是不重复的值的集合,WeakSet 的成员只能是对象,而不能是其他类型的值。

三、Map

Map:键值对的有序列表,键和值是任意类型。

js 复制代码
            let map = new Map();
            // set() 设置值
            map.set('name', '张三');
            map.set('age', '20');
            console.log(map); // 输出 { 'name' => '张三', 'age' => '20'}
            // 键和值可以是任意类型
            map.set(['a', [1, 2, 3]], 'hello');

            // get() 获取值
            console.log(map.get('name')); //张三

            // has()  校验某个值是否在 map 中
            console.log(map.has('name')); //true

            // delete()  删除值
            map.delete('name');

            // clear()  清除所有值
            map.clear();
相关推荐
冬奇Lab20 分钟前
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
javascript·人工智能·agent
一颗烂土豆6 小时前
Meshopt 压缩深度解析,为什么它比 Draco 更快
前端·javascript·webgl
kyriewen8 小时前
同事每天催我 Code Review,我写了个脚本让 AI 替我 review PR——现在他反过来催 AI 了
前端·javascript·ai编程
weedsfly11 小时前
迭代器、生成器与异步迭代——让数据“按需流动”的艺术
前端·javascript
假如让我当三天老蒯11 小时前
前端跨域解决方案(学习用)
前端·javascript·面试
铁皮饭盒13 小时前
Bun 哪比 Node.js 快?
javascript·后端
JieE21221 小时前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
candyTong1 天前
RTK 技术原理:一次典型会话里,80% 上下文是怎么省下来的
javascript·后端·架构
_柳青杨1 天前
深入理解 JavaScript 事件循环
前端·javascript
大家的林语冰1 天前
ES5 凉凉,Babel 8 正式发布,默认不再编译为 ES5 和 CJS......
前端·javascript·前端工程化