如何在 JavaScript 中将数组转换为集合?


本教程将教你如何通过将数组转换为集合来消除 Javascript 中项目数组中的重复值。

在 Javascript 中存储来自数据集合的不同值时,我们可以利用 Set 数据结构来去除重复值。当我们希望从数据中消除重复项或利用 Set 数据结构提供的特殊功能时,将数组转换为 Set 会很有帮助。

让我们看一些示例和方法来更好地理解这个概念 -

示例 1 - 使用 Set 构造函数

通过 Set 构造函数,可以从可迭代对象(或可以循环遍历的对象,例如数组)中获取一组不同的值。

在这个示例中,我们将 -

  • 创建一个名为 an array 的数组,其中包含一些重复的值

  • 通过将数组作为参数传递给 Set 构造函数,创建一个名为 set 的新 Set 对象

  • Set 会自动删除重复值,只保留唯一元素

文件名 - index.html

<html>
<head>
   <title>Convert Array to Set - Using Set Constructor</title>
   <script>
      const array = [1, 2, 3, 3, 4, 5];
      const set = new Set(array);

      console.log(set); // Output: Set {1, 2, 3, 4, 5}
   </script>
</head>
<body>
   <h1>Convert Array to Set - Using Set Constructor</h1>
</body>
</html>

输出

结果将类似于下图。

示例 2 - 使用扩展运算符

为了去除重复项,我们还可以使用扩展运算符 (...) 和 Set 构造函数。可以使用扩展运算符将可迭代对象(或可以循环遍历的对象,例如数组)扩展成单个元素,然后将这些元素传递给 Set 构造函数。

在这个示例中,我们将 -

  • 使用扩展运算符 ... 将数组的元素扩展成单个值。

  • 然后,我们将这些值作为参数传递给 Set 构造函数,创建一个新的 Set 对象 set。

文件名 - index.html

<html>
<head>
   <title>Convert Array to Set - Using Spread Operator</title>
   <script>
      const array = [1, 2, 3, 3, 4, 5];
      const set = new Set([...array]);

      console.log(set); // Output: Set {1, 2, 3, 4, 5}
   </script>
</head>
<body>
   <h1>Convert Array to Set - Using Spread Operator</h1>
</body>
</html>

输出

结果将类似于下图。

示例 3 - 使用 Array.from()

我们可以使用 Array.from() 函数从现有数组生成一个新的数组实例,然后我们可以将这些元素发送到 Set 构造函数

在这个示例中,我们将 -

  • 使用 Array.from() 从数组创建一个新数组,然后将生成的数组作为参数传递给 Set 构造函数,创建一个新的 Set 对象 set

文件名 - index.html

<html>
<head>
   <title>Convert Array to Set - Using Array.from()</title>
   <script>
      const array = [1, 2, 3, 3, 4, 5];
      const set = new Set(Array.from(array));

      console.log(set); // Output: Set {1, 2, 3, 4, 5}
   </script>
</head>
<body>
   <h1>Convert Array to Set - Using Array.from()</h1>
</body>
</html>

输出

结果将类似于下图。

结论

总之,您可以通过使用 Set 构造函数、扩展运算符 (...) 或 Array.from() 函数在 JavaScript 中从数组创建 Set。我们可以使用每种方法快速将数组转换为 Set,以便我们可以与各个元素进行交互。我们研究了将数组转换为集合的各种技术,并检查了示例以进一步加深我们的理解。

更新于: 2023年8月16日

399 次查看

启动你的 职业生涯

通过完成课程获得认证

开始
广告