📜  JavaScript Map.prototype[@@iterator]() 方法(1)

📅  最后修改于: 2023-12-03 14:42:25.641000             🧑  作者: Mango

JavaScript Map.prototype@@iterator 方法

在 JavaScript 中,Map 类型是一种用于存储键值对的集合。Map 对象允许任何类型的键(包括原始值和对象引用)。

Map.prototype@@iterator 方法是 Map 对象的内置方法之一。它返回一个新的迭代器对象,该迭代器按照插入顺序遍历 Map 对象的键值对。

语法

Map.prototype@@iterator

返回值

返回一个新的迭代器对象。

示例

下面的示例演示了如何使用 Map.prototype@@iterator 方法:

const map = new Map();

map.set('key1', 'value1');
map.set('key2', 'value2');
map.set('key3', 'value3');

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

for (const [key, value] of iterator) {
  console.log(`Key: ${key}, Value: ${value}`);
}

上述代码创建了一个新的 Map 对象,并使用 set() 方法添加了三个键值对。然后,我们获取了 Map 对象的迭代器对象 iterator。最后,我们使用 for...of 循环遍历了 Map 对象,并输出了每个键值对的内容。

输出结果如下:

Key: key1, Value: value1
Key: key2, Value: value2
Key: key3, Value: value3
注意事项
  • Map.prototype@@iterator 方法返回的迭代器对象遵循 ECMAScript 6 中的迭代器协议,因此可以在 for...of 循环中使用。
  • Map.prototype@@iterator 方法返回的迭代器对象是一个可迭代对象,因此可以使用 next() 方法进行迭代,直到结束。
  • 每次调用迭代器对象的 next() 方法,都会返回一个表示下一个键值对的对象,该对象有两个属性:valuedonevalue 属性包含键值对的数组,done 属性表示是否已经迭代完毕。
参考资料
  • [Map.prototype@@iterator - MDN](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map/@@iterator)