返回
Map 和 Set 的遍历方式:用代码欣赏 JavaScript 强大的数据结构
前端
2023-09-16 18:51:29
Map的遍历方式
Map 是 JavaScript 中的一种数据结构,它允许您将键值对存储在一个对象中。Map 中的键可以是任何值,而值可以是任何类型的数据。
1. 使用 forEach() 方法遍历 Map
forEach() 方法是遍历 Map 最简单的方法之一。它接受一个回调函数作为参数,该函数将在 Map 的每个键值对上被调用。
const map = new Map([
['a', 1],
['b', 2],
['c', 3]
]);
map.forEach((value, key) => {
console.log(`Key: ${key}, Value: ${value}`);
});
2. 使用 for ... of 循环遍历 Map
for ... of 循环是一种更现代的方式来遍历 Map。它与 forEach() 方法非常相似,但语法更简洁。
const map = new Map([
['a', 1],
['b', 2],
['c', 3]
]);
for (const [key, value] of map) {
console.log(`Key: ${key}, Value: ${value}`);
}
3. 使用 Map.entries() 方法遍历 Map
Map.entries() 方法返回一个包含 Map 中所有键值对的迭代器。您可以使用该迭代器来手动遍历 Map。
const map = new Map([
['a', 1],
['b', 2],
['c', 3]
]);
const iterator = map.entries();
for (const entry of iterator) {
const [key, value] = entry;
console.log(`Key: ${key}, Value: ${value}`);
}
4. 使用 Map.keys() 和 Map.values() 方法遍历 Map
Map.keys() 和 Map.values() 方法分别返回一个包含 Map 中所有键和值的迭代器。您可以使用这些迭代器来遍历 Map 的键或值。
const map = new Map([
['a', 1],
['b', 2],
['c', 3]
]);
const keys = map.keys();
for (const key of keys) {
console.log(`Key: ${key}`);
}
const values = map.values();
for (const value of values) {
console.log(`Value: ${value}`);
}
Set的遍历方式
Set 是 JavaScript 中的一种数据结构,它允许您存储一组唯一的值。Set 中的值可以是任何类型的数据。
1. 使用 forEach() 方法遍历 Set
forEach() 方法是遍历 Set 最简单的方法之一。它接受一个回调函数作为参数,该函数将在 Set 中的每个值上被调用。
const set = new Set(['a', 'b', 'c']);
set.forEach((value) => {
console.log(`Value: ${value}`);
});
2. 使用 for ... of 循环遍历 Set
for ... of 循环是一种更现代的方式来遍历 Set。它与 forEach() 方法非常相似,但语法更简洁。
const set = new Set(['a', 'b', 'c']);
for (const value of set) {
console.log(`Value: ${value}`);
}
3. 使用 Set.values() 方法遍历 Set
Set.values() 方法返回一个包含 Set 中所有值的迭代器。您可以使用该迭代器来手动遍历 Set。
const set = new Set(['a', 'b', 'c']);
const iterator = set.values();
for (const value of iterator) {
console.log(`Value: ${value}`);
}
结论
Map 和 Set 是 JavaScript 中非常有用的数据结构。它们提供了比数组和对象更灵活和高效的存储和操作数据的方式。了解如何遍历 Map 和 Set 可以帮助您更好地掌握 JavaScript 的数据结构并编写更优化的代码。