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>

如果我们执行上述程序,它将返回所有键的 “值” 作为结果。

广告