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 物件。

廣告