微参考 js 如何使用JavaScript遍历Map对象

如何使用JavaScript遍历Map对象

JavaScript 中的 `Map` 对象是一种集合结构,它存储键值对,并且能够记住键的原始插入顺序。遍历 `Map` 对象有多种方式,可以根据需要选择不同的方法来提取键、值或键值对。

1. 使用 `forEach` 方法

`Map` 对象提供了一个 `forEach` 方法,你可以使用它来遍历 Map 中的每个元素。

const myMap = new Map();

myMap.set('a', 1);

myMap.set('b', 2);

myMap.set('c', 3);

myMap.forEach((value, key) => {

console.log(`Key: ${key}, Value: ${value}`);

});

2. 使用 `for…of` 循环和 `Map.prototype.entries()`

`Map.prototype.entries()` 方法返回一个新的迭代器对象,它按插入顺序包含了 Map 对象中每个元素的 `[key, value]` 数组。

const myMap = new Map();

myMap.set('a', 1);

myMap.set('b', 2);

myMap.set('c', 3);

for (const [key, value] of myMap.entries()) {

console.log(`Key: ${key}, Value: ${value}`);

}

3. 使用 `for…of` 循环直接遍历

由于 `Map` 对象是可迭代的,你也可以直接使用 `for…of` 循环来遍历。

const myMap = new Map();

myMap.set('a', 1);

myMap.set('b', 2);

myMap.set('c', 3);

for (const [key, value] of myMap) {

console.log(`Key: ${key}, Value: ${value}`);

}

4. 使用 `for…of` 循环和 `Map.prototype.keys()` 或 `Map.prototype.values()`

如果你只对键或值感兴趣,你可以使用 `Map.prototype.keys()` 或 `Map.prototype.values()`。

// 只遍历键

for (const key of myMap.keys()) {

console.log(`Key: ${key}`);

}

// 只遍历值

for (const value of myMap.values()) {

console.log(`Value: ${value}`);

}

5. 使用 `Iterator` 对象

如何使用JavaScript遍历Map对象

你也可以使用迭代器对象的 `next()` 方法手动遍历。

const iterator = myMap[Symbol.iterator]();

let result = iterator.next();

while (!result.done) {

console.log(`Key: ${result.value[0]}, Value: ${result.value[1]}`);

result = iterator.next();

}

这些是遍历 Map 对象的常用方法,每种方法都有其特定的用途场景。作为前端程序员,了解这些方法可以帮助你根据不同的需求,选择最合适的遍历方式。

本文来自网络,不代表微参考立场,转载请注明出处:http://www.weicankao.com/js/855.html
上一篇
下一篇
返回顶部