es6的Map()构造函数
普通的object对象是键值对的集合,但对于它的键却有着严苛的要求,必须是字符串,这给我们平时带来很多的不方便
Map函数类似于对象,但它是一个更加完美的简直对集合,键可以是任意类型
- set()方法可以向map实例对象中添加一组键值对
let a=new Map(); let key={name:"ww",sex:"man"}; a.set(key,'ABC'); console.log(a)//{{name:"ww",sex:"man"}=>"ABC"} let b=new Map(); b.set('name','zhangsan'); console.log(b)//{'name'=>'zhangsan'}
- get()方法可以向map对象获取一个属性值
let a=new Map(); let key={name:"ww",sex:"man"}; a.set(key,'ABC'); console.log(a.get(key))//'ABC'
- has()方法检测map对象中是否存在某个属性,返回bool
- delete()方法删除map对象中某个键,返回bool
let a=new Map(); let key={name:"ww",sex:"man"}; a.set(key,'ABC'); console.log(a.has(key))//true a.delete(key); console.log(a.has(key))//false
- Map()函数接受数组作为参数,最少必须是二维双数组,长度为2
let a=new Map([['name','wangwei'],['sex','man']]); console.log(a)//{'name'=>'wangwei','sex'=>'man'} let b=new Set([['a','A'],['b','B']]); let c=new Map(b); console.log(c)//{'a'=>'A','b'=>'B'}
- Map()函数接受iterator接口,Map可以自己赋值,注意:不可以对象初始化Map
let b=new Set([['a','A'],['b','B']]); let c=new Map(b); let d=new Map(c); console.log(d)
- Map函数初始化,注意:数组引用必须相同才会覆盖
let a=['a','A']; let b=['a','A']; let c=new Map(); c.set(a,1); c.set(b,2); console.log(c.get(a),c.get(b))// 1 2
let a=['a','A']; let b=a; let c=new Map(); c.set(a,1); c.set(b,2); console.log(c.get(a),c.get(b))// 2 2
- size属性获取map对象成员个数
- clear()属性清除map对象的成员
- forEach()遍历
- keys()
- entries()
- values()
let a=new Map([[1,'a'],[2,'b'],[3,'c']]); for(let i of a){console.log(i) } //[1,'a'],[2,'b'],[3,'c'] for(let i of a.keys()){console.log(i) }//1 2 3 for(let i of a.values()){console.log(i) }//a b c for(let [key,value] of a.entries()){console.log(key,value) }//1 'a' 2 'b' 3 'c'
- Map转换为数组 方法 ...|...keys()|...values|...entries
let a=new Map([[1,'a'],[2,'b'],[3,'c']]); let b=[...a]; console.log(b)//[[1,'a'],[2,'b'],[3,'c']] let c=[...a.keys()]; console.log(c)//[1,2,3] let d=[...a.values()]; console.log(d);//["a", "b", "c"] let e=[...a.entries()]; console.log(e);//[[1,'a'],[2,'b'],[3,'c']]
- Map对象转换为对象,注意:Map的键必须全部是字符串
let a=new Map([['a','A'],['b','B'],['c','C']]); let b={}; for(let [key,value] of a){b[key]=value } console.log(b)//{a: "A", b: "B", c: "C"}
- 对象转换为Map
let a=new Map(); let b={a: "A", b: "B", c: "C"}; for(let i in b){a.set(i,b[i]) } console.log(a)//{"a" => "A", "b" => "B", "c" => "C"}
- JSON转对象,可以先转换为数组或者对象再转换为map
- weakMap()键必须是对象
转载于:https://www.cnblogs.com/douyaer/p/7942974.html
es6的Map()构造函数相关推荐
- ES6中 Map 数据结构
ES6新增了 Map数据结构,Map对象保存键值对,任何值(原始值或对象)都可以作为一个键或一个值. 基本用法 let map = new Map(); let obj = {name: 'Leon' ...
- es6通过Map对象对数组去重
关于js数组去重的方法有很多,我以前居然用的是嵌套两层for循环来加一层if来判断数组里面的重复数据,当我了解了es的方法之后,才发现我的方法是有多蠢(笑哭). 首先关于数组去重我们先简单介绍一下es ...
- js用map筛选指定元素(ES6的map方法)
1.js用map筛选指定元素 let arr = [1,2,3] //如果条件是true,就加入新newArr中 let newArr = arr.filter(item => item> ...
- es6 forEach/map循环中断
1.for循环在循环的时候 通过continue中断当次循环 通过break中断整个循环 通过retrun中断函数执行 2.es6的forEach/map循环只能通过return中断当次循环 //目的 ...
- c语言 map 构造函数,map函数,map函数的作用
map不是函数,是一个对象 可以Mapmap=newHashMap();创建 Map就是键值对, map.put("1","123"); map.put(&qu ...
- es6的map()方法解释
map方法的作用不难理解,即"映射",也就是原数组被"映射"成对应新数组.下面这个例子是数值项求平方: var data = [1, 2, 3, 4];var ...
- ES6中Map与对象、数组,JSON之间的相互转换
Map转为数组 const map = new Map(); map.set(1,"foo").set(2,"bar").set(3,"baz&quo ...
- ES6新增Promise构造函数
文章目录 有关ES6中Promise的理解 1.Promise的含义? 2.如何创建一个Promise对像? 3.Promise对像的三种状态? 4.thenable 对象是什么? 5.有关Promi ...
- ES6 Map数据结构
Map JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能用字符串当作键.这给它的使用带来了很大的限制. ES6 提供了 Map 数据结构.它类似于对 ...
最新文章
- linux怎么注册信息,linux device注册
- 影响堪比登月!谷歌等设计DL新方式让神经网络无限深无限窄
- 拆解一个舵机组成的机器人
- 为什么百度首页的HTML源代码最后一行要多一行?浪费空间呀!
- 人工智能到来的时代,你曾经瞧不起的职业,可能会非常吃香!
- 《图解HTTP》读书笔记--第3章HTTP报文内的HTTP信息
- SAPMMC控制台服务消失的解决方法
- mysql online ddl和pt_online ddl与pt-osc详解
- CentOS 搭建Postfix+Dovecot简单邮件系统
- Java常用类集接口以及实现方式总结
- ubantu的下载和在虚拟机VM中的安装
- 小tip: 使用CSS将图片转换成黑白(灰色、置灰)[转]
- java第十四次作业
- windows 2013 datacenter 安装sql server2008 r2兼容性
- VMware之虚拟机迁移
- vue-cli创建项目实例
- 已知三点坐标,求外接圆圆心坐标与半径。
- 物联网的应用涉及生活的方方面面,在这里介绍一下物联网的多种应用场景
- 作战管理系统:现代化作战体系核心
- 概率统计Python计算:贝叶斯公式
热门文章
- c mysql二进制,MySQL运用connector C/C+读取二进制字段
- 10个职场故事,让人不得不看
- 新唐M031学习笔记(一)定时器基础计数应用
- Windows使用筛选器来处理异常
- 计算机专业女兵,陈豪2010《点解阿Sir》剧照
- 后台系统可扩展性学习笔记
- 加载一张照片,可选择是否另存为
- mysql 关联查询_Mysql查询优化器,再也不会因为该什么时候建立索引发愁了
- linux重启后root密码错误,Linux技巧| 解决Debian Root密码忘记的问题
- 22. 括号生成 golang 图解