JavaScript - Set() 构造函数



在 JavaScript 中,Set() 构造函数用于创建一个新的 Set 对象,它是一个唯一值的集合。JavaScript 中的 Set 类似于数组,但具有一些不同的特性。

  • 唯一值 - Set 只能包含唯一值。如果我们尝试添加 Set 中已存在的值,则会忽略它。
  • 迭代顺序 - 与数组不同,Set 不根据插入顺序维护元素的顺序。但是,可以通过迭代获取元素的顺序。
  • 迭代方法 - Set 提供了迭代其元素的方法,例如 forEach()、for...of 循环以及 values()、keys() 和 entries() 方法。
  • 类型灵活性 - Set 可以包含任何数据类型的值,包括基本类型、对象,甚至 undefined 或 NaN 值。

语法

以下是 JavaScript Set() 构造函数的语法 -

new Set(iterable)

参数

此方法接受一个可选参数。下面描述了该参数 -

iterable (可选) - 一个可迭代对象(例如数组),其元素将被添加到集合中。每个元素必须是唯一的。

如果我们不指定此参数,或其值为 null,则新的 Set 将为空。

返回值

Set() 构造函数返回一个新的 Set 对象。

示例

示例 1

在下面的示例中,我们使用 Set() 构造函数创建一个 Set 对象。我们将一个包含重复值的数组传递给 Set() 构造函数。但是,Set 对象会自动消除重复项,因此“set”只包含唯一值。

<html>
<body>
   <script>
      const set = new Set([1, 2, 3, 2, 1]);
      document.write(set); // Output: Set {1, 2, 3}
   </script>
</body>
</html>

正如我们在输出中看到的,它消除了所有重复的值,并且只返回不同的值。

示例 2

在此示例中,我们没有提供任何可迭代对象作为参数。因此,它返回一个空 Set 对象作为结果 -

<html>
<body>
   <script>
      const set = new Set();
      document.write(set); // Output: Set {}
   </script>
</body>
</html>

正如我们在输出中看到的,它返回了一个空 Set 对象。

示例 3

在这里,我们提供“null”作为参数。因此,它返回一个空 Set 对象作为结果 -

<html>
<body>
   <script>
      const set = new Set(null);
      document.write(set); // Output: Set {}
   </script>
</body>
</html>

正如我们在输出中看到的,它返回了一个空 Set 对象。

广告

© . All rights reserved.