如何在 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 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告