JavaScript - Map.entries() 方法



Map.entries() 方法在 JavaScript 中用於返回一個新的 Map 迭代器物件,該物件迭代 Map 中的 [鍵-值] 對。迭代器的每個元素都是一個包含兩個元素的陣列:第一個元素是鍵,第二個元素是 Map 中對應的值。迭代器遵循 Map 中元素的插入順序。

JavaScript Map.entries() 方法不接受任何引數;相反,它返回 Map 的一個新的迭代器物件。

語法

以下是 JavaScript Map.entries() 方法的語法:

entries()

引數

此方法不接受任何引數。

返回值

此方法返回一個包含 Map 中 [鍵,值] 對的迭代器物件。

示例

示例 1

在以下示例中,我們使用 JavaScript Map.entries() 方法按插入順序返回 Map 物件中所有元素的 [鍵,值] 對。

<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 中的每個條目,並列印每個 [鍵,值] 對:

<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>

如果我們執行上述程式,它將所有鍵值對作為常規陣列打印出來。

廣告