JavaScript - WeakMap.set() 方法



在 JavaScript 中,WeakMap.set() 方法用於在 WeakMap 物件中新增或更新鍵值對。

此方法接受兩個引數:“鍵”“值”。如果鍵已存在於 WeakMap 中,則與鍵關聯的值將更新為提供的新的值。如果鍵不存在,則新的鍵值對將新增到 WeakMap 中。此方法返回 WeakMap 物件本身,允許方法鏈式呼叫。

此方法幾乎與所有瀏覽器相容,例如 Chrome、Edge、Firefox、Opera 和 Safari。

語法

以下是 JavaScript WeakMap.set() 方法的語法:

set(key, value)

引數

此方法接受兩個引數。下面描述了這兩個引數:

  • key - 要在 WeakMap 物件中新增或更新的鍵。

  • value - 要在 WeakMap 物件中新增或更新的值。

返回值

此方法的返回值是 WeakMap 物件本身,允許方法鏈式呼叫。

示例

示例 1

在以下示例中,我們使用 JavaScript WeakMap.set() 方法向 WeakMap 物件新增新的鍵值對:

<html>
<body>
   <script>
      const weakMap = new WeakMap();
      const key = { id: 1 };
      
      weakMap.set(key, 'varun');
      document.write(weakMap.get(key))
   </script>
</body>
</html> 

執行上述程式後,它將返回與提供的鍵 (“key”) 關聯的值 (“varun”) 作為結果。

示例 2

在下面的示例中,我們將多個鍵值對新增到一個空的 WeakMap 物件中:

<html>
<body>
   <script>
      const weakMap = new WeakMap();
      const key1 = { id: 1 };
      const key2 = { id: 2 };
      const key3 = { id: 3 };
      
      weakMap.set(key1, 'varun');
      weakMap.set(key2, 'rohit');
      weakMap.set(key3, 'zayn');
      
      document.write(weakMap.get(key1), "<br>")
      document.write(weakMap.get(key2), "<br>")
      document.write(weakMap.get(key3))
   </script>
</body>
</html>

它將返回與提供的鍵 (“key1”, “key2”, “key3”) 關聯的所有值 (“varun”, “rohit”, “zayn”) 作為結果。

示例 3

在此示例中,我們使用 JavaScript set() 方法更新現有鍵的值:

<html>
<body>
   <script>
      const weakMap = new WeakMap();
      const key = { id: 1 };
      
      weakMap.set(key, 'varun');
      weakMap.set(key, 'rohit');
      weakMap.set(key, 'nikhil');
      
      document.write(weakMap.get(key))
   </script>
</body>
</html> 

它將返回鍵 “1” 的新插入的 “值” (nikhil) 作為結果。

示例 4

在此,set() 方法被連結以在單個語句中向空的 WeakMap 物件新增多個鍵值對:

<html>
<body>
   <script>
      let weakMap = new WeakMap();
      let key1 = {};
      let key2 = {};
      let key3 = {};
      
      weakMap.set(key1, 'apple').set(key2, 'banana').set(key3, 'cherry');
      
      document.write(weakMap.get(key1), "<br>");
      document.write(weakMap.get(key2), "<br>");
      document.write(weakMap.get(key3));
   </script>
</body>
</html>

如果我們執行上述程式,它將返回所有鍵的 “值” 作為結果。

廣告