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]