1. ホーム
  2. javascript

[解決済み] ES6 の `Set` をソートするにはどうしたらいいですか?

2022-11-02 18:13:02

質問

new Set(['b', 'a', 'c']).sort() 投げる TypeError: set.sort is not a function . をソートするにはどうすればよいのでしょうか? Set をソートして特定の反復順序を確保するには?

どのように解決するのですか?

集合は順序付けされた抽象的なデータ構造ではありません。

A Set は常に同じ反復順序 - 要素の挿入順序 [1] を持つので、反復するとき (反復メソッドによって、または Symbol.iterator を呼び出したり、for...ループを使ったりして)反復するとき、常にそれを期待することができます。

セットを配列に変換し、それをソートすることはいつでも可能です。

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

[1] forEach CreateSetIterator