c语言编程笔录

首页 >   > 笔记大全

笔记大全

Map实现遍历的方法有哪些

更新时间:2023-10-11

1. for...in循环

使用for...in循环可以遍历对象、数组和Map。对于Map而言,可以遍历它的keys、values或entries。

const map = new Map([
  ['a', 1],
  ['b', 2],
  ['c', 3]
]);

for (const key in map) {
  console.log(key); // 输出三个数字类型的键
}

for (const value of map.values()) {
  console.log(value); // 输出三个数字类型的值
}

for (const entry of map.entries()) {
  console.log(entry[0], entry[1]); // 输出a 1,b 2,c 3
}

2. forEach()方法

Map实例有一种forEach()方法,它可以用于遍历Map所有的元素。该方法接收一个回调函数,它可以分别遍历Map元素的key、value和整个entry。

const map = new Map([
  ['a', 1],
  ['b', 2],
  ['c', 3]
]);

map.forEach((value, key, map) => {
  console.log(key + ':' + value); // 输出a:1,b:2,c:3
});

3. 扩展运算符(...)

可以使用扩展运算符(...),将Map的内容拓展到数组中。然后可以对数组使用forEach()方法或for...of循环进行遍历。

const map = new Map([
  ['a', 1],
  ['b', 2],
  ['c', 3]
]);

[...map].forEach(([key, value]) => {
  console.log(key + ':' + value); // 输出a:1,b:2,c:3
});

4. 迭代器(Iterator)

Map实例拥有一个迭代器(Iterator),可以使用它进行遍历。

const map = new Map([
  ['a', 1],
  ['b', 2],
  ['c', 3]
]);

const iterator = map.entries();
let current = iterator.next();

while (!current.done) {
  const [key, value] = current.value;
  console.log(key + ':' + value); // 输出a:1,b:2,c:3
  current = iterator.next();
}