JavaScript {}的默认对象表示可以看作是其他语言中Map或Dictionary的数据结构,即一组键值对。但是JavaScript对象有一个小问题,就是密钥必须是字符串。但实际上,使用Number或其他数据类型作为键是相当合理的。为了解决这个问题,最新的ES6规范引入了新的数据类型Map。
1、地图
Map是一组键值对的结构,搜索速度极快。
m=new map([' kadyg ',95],['bob ',75],['tall咖啡豆',85]);
m . get(' kadyg ');//95
初始化映射需要二维数组,或者直接初始化空映射。
地图有以下方法:
var m=新地图();//空地图
m.set(《亚当》,67年);//添加新的键值
(鲍勃,59岁);
m . has(' Adam ');//有钥匙‘亚当’:是真的吗?
m . get(' Adam ');//67
m . delete(' Adam ');//删除键“亚当”
m . get(' Adam ');//未定义
由于一个键只能对应一个值,所以将值多次放入一个键中,后面的值将洗去前面的值:
var m=新地图();
m.set(《亚当》,67年);
m.set(《亚当》,88年);
m . get(' Adam ');//88
2、设置
与Setmap类似,它也是一组键,但不存储值。因为密钥不能重复,所以在集合中没有重复的密钥。
要创建集合,您需要提供一个数组作为输入,或者直接创建一个空集合:
var s1=新集合();//空集合
var s2=新集合([1,2,3]);//包括1、2、3
在集合中自动过滤重复的元素:
var s=新集合([1,2,3,3,' 3 ']);
s;//设置{1,2,3,' 3'}
请注意,数字3和字符串“3”是不同的元素。
添加(键)方法可用于向集合中添加元素。可以反复添加,但没有效果:
s . add(4);
s;//设置{1,2,3,4}
s . add(4);
s;//仍然是Set {1,2,3,4}
可以通过delete(key)方法删除元素:
var s=新集合([1,2,3]);
s;//设置{1,2,3}
s . delete(3);
s;//设置{1,2}
本文参考“廖雪峰官网”中的《地图与布景》解释。