JavaScript - Map.entries() 方法
JavaScript 中的 Map.entries() 方法用于返回一个新的 Map 迭代器对象,该对象对 Map 中的 [键-值] 对进行迭代。迭代器的每个元素都是一个包含两个元素的数组:第一个元素是键,第二个元素是 Map 中对应的值。迭代器遵循 Map 中元素的插入顺序。
JavaScript 中的 Map.entries() 方法不接受任何参数;而是返回一个新的 Map 迭代器对象。
语法
以下是 JavaScript Map.entries() 方法的语法 -
entries()
参数
此方法不接受任何参数。
返回值
此方法返回一个 Map 中包含 [key, value] 对的迭代器对象。
示例
示例 1
在下面的示例中,我们使用 JavaScript Map.entries() 方法按插入顺序返回 Map 对象中所有元素的 [key, value] 对。
<html>
<body>
<script>
const map = new Map();
map.set('a', 'apple');
map.set('b', 'banana');
map.set('c', 'cherry');
const iterator = map.entries();
document.write(iterator.next().value, "<br>");
document.write(iterator.next().value, "<br>");
document.write(iterator.next().value);
</script>
</body>
</html>
执行上述程序后,我们可以看到,它按插入顺序返回了 Map 对象的所有元素。
示例 2
当 Map 对象为空时,调用 iterator.next().value 将返回"undefined",因为 Map 中没有可检索的键值对 -
<html>
<body>
<script>
const map = new Map();
const iterator = map.entries();
document.write(iterator.next().value);
</script>
</body>
</html>
因此,当 map 为空时,尝试访问 iterator.next() 结果的 value 属性将返回"undefined"。
示例 3
在此示例中,for...of 循环遍历 map 中的每个条目,并打印每个 [key, value] 对 -
<html>
<body>
<script>
const map = new Map();
map.set('a', 'apple');
map.set('b', 'banana');
map.set('c', 'cherry');
for (let entry of map.entries()) {
document.write(entry, "<br>");
}
</script>
</body>
</html>
如果我们执行上述程序,它将打印 Map 对象中存在的所有键值对。
示例 4
Array.from() 方法将 Map 条目的迭代器转换为 [键, 值] 对的常规数组。
<html>
<body>
<script>
const map = new Map();
map.set('a', 'apple');
map.set('b', 'banana');
map.set('c', 'cherry');
const entriesArray = Array.from(map.entries());
document.write(entriesArray); // [['one', 1], ['two', 2], ['three', 3]]
</script>
</body>
</html>
如果我们执行上述程序,它会将所有键值对作为常规数组打印出来。

