怎么遍历Map集合?

田野

Map的遍历跟Set的遍历类似,可以使用四种函数:forEach()函数、keys()函数、values()函数、entries()函数。

forEach()函数我们应该是最熟悉的了。第一个参数表示的是值,第二个是键。

const map = new Map();
map.set('name', 'andy');
map.set('age', 12);

map.forEach(function(item, key) {
  console.log(item, key);
});
// andy name
// 12 age

keys()、values()、entries()这三个函数大家可能不太熟悉。

这三个函数都是返回Iterator的实例,然后我们再利用for…of进行遍历。

注:keys()返回键的集合,values()返回值的集合,entries()返回键值对的集合。

for(let key of map.keys()) {
  console.log(key);
}
// name
// age

for(let value of map.values()) {
  console.log(value);
}
// andy
// 12

for(let obj of map.entries()) {
  console.log(obj);
}
// ['name', 'andy']
// ['age', 12]