JavaScript - Map.set() 方法



JavaScript 中的 Map.set() 方法用于在 Map 对象中添加或更新键值对。它需要两个参数:键和值。如果 map 中已存在该键,则与该键关联的值将更新为提供的新值。如果该键不存在,则会向 Map 中添加一个新的键值对。此方法返回 Map 对象本身,允许方法链接。

此方法几乎兼容所有浏览器,例如 Chrome、Edge、Firefox、Opera 和 Safari。

语法

以下是 JavaScript Map.set() 方法的语法 -


 set(key, value)

参数

此方法接受两个参数。下面描述相同 -

  • key - 必须在 Map 对象中添加或更新的元素的键。键可以是任何值,包括 objects 或 primitive 值。
  • value - 必须在 Map 对象中添加或更新的元素的值。该值可以是任何类型,包括 objects 或 primitive 值。

返回值

此方法返回 Map 对象本身。

示例 1

在以下示例中,我们使用 JavaScript Map.set() 方法将键值对添加到空 Map 对象。

我们使用 entries() 方法创建了一个包含 map 的键值对的迭代器对象。然后,使用 next() 方法从迭代器中检索下一个键值对。


<html>
<body>
   <script>
      let map = new Map();
      map.set(1, 'apple');
      
      const iterator = map.entries();
      document.write(iterator.next().value);
   </script>
</body>
</html>

如果我们执行上述程序,它会返回提供的键值对作为结果。

示例 2

在下面的示例中,我们将多个键值对添加到一个空的 Map 对象中 -


<html>
<body>
   <script>
      let map = new Map();
      map.set(1, 'apple');
      map.set(2, 'banana');
      map.set(3, '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 对象中。

示例 3

在这里,我们使用 JavaScript set() 方法更新现有键的值 -


<html>
<body>
   <script>
      let map = new Map();
      map.set(1, 'apple');
      map.set(1, 'banana');
      
      document.write(map.get(1), "<br>");
   </script>
</body>
</html>

它将返回键 “1” 新插入的 “value” (banana) 作为结果。

示例 4

在此示例中,将 set() 方法链接在一起,以在单个语句中将多个键值对添加到空 Map 中 -


<html>
<body>
   <script>
      let map = new Map().set(1, 'apple').set(2, 'banana').set(3, 'cherry');
      document.write(map.get(1), "<br>");
      document.write(map.get(2), "<br>");
      document.write(map.get(3));
   </script>
</body>
</html>

如果我们执行上述程序,它会返回所有 key 的 “values” 作为结果。