HOWTO · JavaScript

在 JavaScript 中將 Set 轉換為陣列

瞭解如何在 JavaScript 中將 Set 轉換為陣列

在本文中,我們將研究在 JavaScript 中將 Set 轉換為陣列。

在 JavaScript 中使用 Array.from() 將集合轉換為陣列

  • Array.from() 允許你從以下來源構建陣列:
  • 類陣列物件(具有索引項和長度屬性的物件);或者
  • 可以迭代的專案(例如 Map 和 Set)。

從像 Set 這樣的可迭代物件中,Array.from() 方法可以構造淺拷貝的 Array 例項。使用 ES6,它被新增到 Array 物件中。這就是程式碼的樣子:

var aa = new Set([1, 3, 5, 7]);
let ar = Array.from(aa);

console.log(ar);

輸出:

[1, 3, 5, 7]

在 JavaScript 中使用 Spread 運算子將集合轉換為陣列

擴充套件 syntax (...) 擴充套件迭代,例如陣列表示式或字串,其中需要零個或多個引數(用於函式呼叫)或元素(用於陣列文字),或者零個或多個鍵值對擴充套件為預期的位置(對於物件文字)。

你還可以使用擴充套件運算子將 Set 更改為陣列。展開語法允許增加集合,其中需要一個陣列文字。反過來,它引入了 JavaScript 的 ES6 規範。

下面測試它的使用:

var aa = new Set([1, 3, 5, 7]);
let ar = [...aa];

console.log(ar);

輸出:

[1, 3, 5, 7]

使用 JavaScript 中的 Set.prototype.forEach() 函式將 Set 轉換為陣列

另一種解決方案是將 Set 的每個元素新增到陣列中。這可以使用 forEach() 方法輕鬆完成,如下所示:

var aa = new Set([1, 3, 5, 7]);
let ar = [];
aa.forEach(k => ar.push(k));

console.log(ar);

forEach() 方法為 Set 物件中的每個值執行一次提供的回撥。

輸出:

[1, 3, 5, 7]