ES6基础语法之Map和Set对象怎么用
发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,本篇内容主要讲解"ES6基础语法之Map和Set对象怎么用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"ES6基础语法之Map和Set对象怎么用"吧!一、
千家信息网最后更新 2025年02月16日ES6基础语法之Map和Set对象怎么用
本篇内容主要讲解"ES6基础语法之Map和Set对象怎么用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"ES6基础语法之Map和Set对象怎么用"吧!
一、Map对象
Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。
Map中的键值是有序的。
let myMap = new Map();myMap.set("23","乔丹");myMap.set("33","皮蓬");let name = myMap.get("33");console.log(name); //皮蓬let has = myMap.has("24"); //查找是否含有此键console.log(has); //false
Map的迭代:
let myMap = new Map();myMap.set("23","乔丹");myMap.set("33","皮蓬");myMap.set("99","罗德曼");//循环键for (let key of myMap.keys()) { console.log(key);} //循环值for (let value of myMap.values()) { console.log(value);} //循环键和值for (let [key, value] of myMap) { console.log(key + " = " + value);}//或for (let [key, value] of myMap.entries()) { console.log(key + " = " + value);} //使用forEach循环myMap.forEach(function(value,key){ console.log(key + "=" + value);},myMap);
Map 与 Array的转换:
//二维数组转换成map对象let arr = [[23,"乔丹"],[33,"皮蓬"],[99,"罗德曼"]];let myMap = new Map(arr);for (let [key, value] of myMap) { console.log(key + " = " + value);}//map对象转换成二维数组let outArr = Array.from(myMap);console.log(outArr);
Map的克隆:
let myMap1 = new Map([[23,"乔丹"],[33,"皮蓬"],[99,"罗德曼"]]);let myMap2 = new Map(myMap1);for (let [key, value] of myMap2) { console.log(key + " = " + value);}
Map的合并(合并两个 Map 对象时,如果有重复的键值,则后面的会覆盖前面的)
let myMap1 = new Map([[23,"乔丹"],[33,"皮蓬"],[99,"罗德曼"]]);let myMap2 = new Map([[23,"詹姆斯"],[24,"科比"],[11,"姚明"]]);let myMap = new Map([...myMap1,...myMap2]); //合并之后詹姆斯会替换乔丹for (let [key, value] of myMap) { console.log(key + " = " + value);}
二、Set对象
Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
Set 对象存储的值总是唯一的,所以需要判断两个值是否恒等。有几个特殊值需要特殊对待:
(1) +0 与 -0 在存储判断唯一性的时候是恒等的,所以不重复;
(2) undefined 与 undefined 是恒等的,所以不重复;
(3) NaN 与 NaN 是不恒等的,但是在 Set 中只能存一个,不重复。
let mySet = new Set();mySet.add(1);mySet.add("hello"); //这里体现了类型的多样性mySet.add(2);mySet.add(1); //这里添加不了,这里体现了值的唯一性console.log(mySet); //{1,"hello",2}console.log(mySet.has(3)); //false, 是否含有3
以下代码体现了对象之间引用不同不恒等,即使值相同,Set 也能存储
let mySet = new Set();let o = {a: 1, b: 2}; mySet.add(o);mySet.add({a: 1, b: 2});console.log(mySet);
Set类型转换:
//Array 转 Setlet arr = ["乔丹","皮蓬","罗德曼"];let mySet = new Set(arr);console.log(mySet);//Set转Array(使用...)let mySet = new Set();mySet.add("乔丹");mySet.add("皮蓬");mySet.add("罗德曼");let arr = [...mySet];console.log(arr);//字符串转Set(注:Set中toString方法是不能将Set转换成String)let mySet = new Set("hello");console.log(mySet); //h e l o (两个l只出现一次)
Set对象的作用:
//数组去重复let mySet = new Set([1,2,1,2,3,3,4,5,6,4,7]);let arr = [...mySet];console.log(arr); //1,2,3,4,5,6,7//数组求并集let a = new Set([1, 2, 3]);let b = new Set([4, 3, 2]);let union = new Set([...a, ...b]);let arr = [...union];console.log(arr); //1, 2, 3, 4//数组求交集let a = new Set([1, 2, 3]);let b = new Set([4, 3, 2]);let intersect = new Set([...a].filter(p=>b.has(p)));let arr = [...intersect];console.log(arr); //2, 3
到此,相信大家对"ES6基础语法之Map和Set对象怎么用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
对象
乔丹
罗德
罗德曼
数组
存储
循环
基础
语法
两个
类型
原始
特殊
内容
唯一性
方法
詹姆
詹姆斯
二维
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库查字符集
校网络技术部外联部
网络服务器运维centos
服务器做图软件
dns服务器地址怎么填山东
对数据库维护
苏州机架式服务器多少钱
软件开发广东哪个大学好
网络技术国家有哪些
科技和互联网 美业
电脑版空岛拔刀剑服务器
vs软件怎么连接数据库
网络安全公安联考有优势吗
服务器允许程序运行
铭冠网安数据库安全解决方案
2021国家网络安全实施时间
大逃杀服务器维护
全球服务器发电量
基于位置服务技术 大数据库
为什么不用谷歌服务器
哪个厂家的网络安全防范
java获取服务器名称和ip
软件开发公司通过什么赚钱
如何把电脑数据导入服务器
广德库存软件开发服务价格大全
生产管理erp软件开发
大话西游2哪个服务器人多
国防科技大学网络安全专业考研
阳台门下载软件开发
视频网络安全教育培训