前言
Map是js中的一种数据结构,它可以用来存储键值对,并且能够保持键值对的插入顺序。
创建Map对象
可以使用new Map()
语法来创建一个空的Map对象,或者使用一个可迭代的二维数组作为参数,其中每个子数组表示一个键值对。
let m = new Map([
['name', 'A'],
['age', 18]
]);
向Map对象中添加、读取、删除和查找元素
可以使用以下方法来操作Map对象中的元素。
set(key, value)
:向Map对象中添加一个新的键值对。get(key)
:根据键获取对应的值。delete(key)
:从Map对象中删除指定的键值对。has(key)
:检查Map对象中是否存在指定的键。
m.set('gender', 'male');
console.log(m.get('name')); // A
m.delete('age');
console.log(m.has('age')); // false
获取Map对象的大小
可以通过size
属性获取Map对象中键值对的数量。
console.log(m.size); // 2
Map对象中的特殊键
在Map对象中,键可以是任何数据类型,包括对象、数组和布尔值。
m.set({}, 1); // 键为对象
m.set([], 2); // 键为数组
m.set(true, 3); // 键为布尔值
遍历Map对象
可以使用多种方式来遍历Map对象中的键值对。
-
使用
forEach()
方法进行遍历。m.forEach((value, key, map) => { console.log(value, key); });
-
使用
for...of
循环进行遍历。for (let value of m.values()) { console.log(value); } for (let key of m.keys()) { console.log(key); } for (let entry of m.entries()) { console.log(entry); }
以上介绍了Map对象的创建、操作、大小、特殊键和遍历操作,使用Map对象可以方便地存储键值对,并且可以保持插入顺序。