键值对
有没有遇到过在JavaScript中使用键值对的场景,键值对在C# Java 语言中是非常主流的概念,但是在JavaScript中,开发人员却面临一个挑战,大多数情况下,要使用自定义类型来解决这个问题.Map
就是为了到达相同目的而设计的.
直接看代码,创建一个Map
对象并且在示例中使用它.
1 | var myMap = new Map(); |
第一步,创建了Map
对象,然后创建三个变量,然后给Map
对象设置键值.
设置键值的语法1
object.set(<key>, <value>);
正如示例中一样,给Map
对象设置键值,然后输出键对应的值.
取值的语法1
object.get(<key>) ;
上面的示例输出的结果是:
1 | value for key1 |
通过移除Map
中所有的键值对来清空Map
对象,清空的语法:
1 | myMap.clear(); |
通过object.clear()
将清空Map
中所有的值.
如果再次执行以下代码:
1 | console.log(myMap.get(key1)); |
输出的结果将会是:
1 | undefined |
那么如何从Map
中删除特定的键呢.
我们先初始化Map
,然后删除key2
1
2
3
4
5myMap.set(key1, "value for key1");
myMap.set(key2, 'value for key2');
myMap.set(key3, 'value for key3');
myMap.delete(key2);
从Map
中获取所有的键1
var mapIter = myMap.keys();
最后,我们可以打印出Map
中所有的键值.
1 | for (var [key, value] of myMap) { |
Map
可以使用for...of
循环
输出的结果:
1 | key1 = value for with key1 |