JavaScript - Map.values() 方法



Map.values() 方法在 JavaScript 中不接受任何参数,并返回一个新的迭代器对象,该对象包含 Map 对象中每个元素的,按照插入顺序排列。Map 对象是键值对的集合,其中每个键都是唯一的,可以是任何数据类型,每个值也可以是任何数据类型。

values() 方法几乎与所有浏览器兼容,例如 Chrome、Edge、FireFox、Opera 和 Safari。

语法

以下是 JavaScript Map values() 方法的语法:-

values()

参数

此方法不接受任何参数。

返回值

此方法返回一个新的迭代器对象,其中包含 Map 中每个元素的值,按照插入顺序排列。

示例

示例 1

在下面的示例中,我们使用 Map.values() 方法遍历 Map 对象中每个元素的“值”,并使用 for...of 循环从 values() 方法的结果中按插入顺序打印它们:-

<html>
<body>
   <script>
      const map = new Map();
      map.set('a', 'apple');
      map.set('b', 'banana');
      map.set('c', 'cherry');
      
      const Iterator = map.values();
      for (let value of Iterator) {
         document.write(value, "<br>");
      }
   </script>
</body>
</html>

以上程序返回一个新的集合迭代器对象“Iterator”,其中包含此 Map 中每个元素的“值”,按照插入顺序排列。

示例 2

在此示例中,我们使用 values() 方法为 Map 中的值创建一个迭代器。然后,我们使用迭代器上的 next() 方法手动检索每个值元素:-

<html>
<body>
   <script>
      const map = new Map();
      
      map.set('a', 'apple');
      map.set('b', 'banana');
      map.set('c', 'cherry');
      
      const iterator = map.values();
      document.write(iterator.next().value, "<br>");
      document.write(iterator.next().value, "<br>");
      document.write(iterator.next().value);
   </script>
</body>
</html>

如果我们执行上述程序,它将按插入顺序打印集合中存在的每个“值”。

示例 3

这里,Map 对象为空,我们尝试使用迭代器上的 next() 方法检索元素:-

<html>
<body>
   <script>
      const map = new Map();
      const iterator = map.values();
      document.write(iterator.next().value);
   </script>
</body>
</html>

它返回“undefined”作为结果。

示例 4

在此示例中,“iterator.next().done”将返回“true”,这表示不再存在更多值:-

<html>
<body>
   <script>
      const map = new Map();
      map.set('a', 'apple');
      map.set('b', 'banana');
      map.set('c', 'cherry');
      
      const iterator = map.values();
      document.write(iterator.next().value, "<br>");
      document.write(iterator.next().value, "<br>");
      document.write(iterator.next().value, "<br>");
      document.write(iterator.next().done);
   </script>
</body>
</html>

如果我们执行上述程序,它将按插入顺序打印集合中存在的每个“值”,并在所有集合中的值完成后返回“true”。

广告