一直以来使用数组和对象来定义数据模型,前几天在翻阅ES6语法的时候,突然发现有一种Map对象对操作键值对特别好用,而且代码更简洁明了,简直太棒了。
今天,我们就来一步步了解什么是Map对象,详细给大家介绍一下Map对象的属性和方法。希望大家以后再数据操纵方法多一种解决问题的方法,这是ECMA 6 新增的数据结构。
定义
Map对象保存键/值对,是键/值对的集合。任何值(对象或者原始值) 都可以作为一个键或一个值。Object结构提供了“字符串—值”的对应,Map结构提供了“值—值”的对应。
语法:
mapObj=new Map([iterable]);
iterable 可以是一个数组或者其他iterable 对象,其元素或为键值对,或为两个元素的数组。 每个键值对都会添加到新的 Map。null 会被当做 undefined。
Map实例
所有的Map实例都会继承自Map.prototype。
示例
Map对象类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。
let a=new Map(); let b={p:'Hello World'}; a.set(b,"content"); a.get(b); //"content" a.has(b) //true a.delete(b) //true a.has(b) //false
作为构造函数,Map也可以接受一个数组作为参数。该数组的成员是一个个表示键值对的数组。
let map=new Map(['first','aaaaaa'],['second','bbbbbb']);; map.size(); //2 map.has('first'); //true a.get(b); //'aaaaaa' map.has('second'); //true a.get(b); //'bbbbbb'
以上是js怎么定义map的详细内容。更多信息请关注PHP中文网其他相关文章!