How can I sort an ES6 `Set`? Ask Question

How can I sort an ES6 `Set`? Ask Question

new Set(['b', 'a', 'c']).sort() throws TypeError: set.sort is not a function. How can I sort a Set to ensure a particular iteration order?

ベストアンサー1

A set is not an ordered abstract data structure.

しかし、 A はSet常に同じ反復順序、つまり要素の挿入順序 [1] を持つため、反復処理 (反復メソッド、呼び出しSymbol.iterator、または for.. of ループによる) を行うと、常に次のことが期待できます。

いつでもセットを配列に変換して並べ替えることができます。

Array.from(new Set(["b","a","c"])).sort();
[...(new Set(["b","a","c"]))].sort(); // with spread.

[1]forEachそしてSetIterator の作成

おすすめ記事