ES6基础语法之Map和Set对象怎么用
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,本篇内容主要讲解"ES6基础语法之Map和Set对象怎么用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"ES6基础语法之Map和Set对象怎么用"吧!一、
千家信息网最后更新 2025年01月18日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安全错误
数据库的锁怎样保障安全
长三角软件开发者大会
收集数据库
江苏有鱼互联网科技有限公司
数据库三级模式结构中内模式
武汉汇创网络技术
野望翻译软件开发
郑州大学网络安全调剂
姑苏区有名的网络技术创新服务
软件开发太压抑了
嵌入式软件开发招聘杭州
网络安全法有哪些法规
数据库技术第二版实训3第二题
晋中银行 网络安全
收银系统 数据库密码
985大学法律数据库
公安局的网络安全管理职位
api连mysql数据库
软件开发社会环境
小区监控服务器维修站点
域名根服务器管理互联网
湛江软件开发公司明细
查看数据库表格里面的数据
上海泰涛网络技术
服务器防火墙重启
设计小软件开发
手机网站服务器忙该怎么解决
云顶之弈哪个服务器中国人最多
ios软件开发iphone
阿里巴巴 用的什么数据库
his数据库考试题