JavaScriptでマップをソートする方法


  1. キーでソートする方法: マップのキーでソートするには、まずマップのキーを配列に変換し、配列をソートしてから新しいマップを作成します。次のコード例を参考にしてください。
const map = new Map();
map.set("b", 2);
map.set("a", 1);
map.set("c", 3);
const sortedKeys = Array.from(map.keys()).sort();
const sortedMap = new Map();
for (const key of sortedKeys) {
  sortedMap.set(key, map.get(key));
}
console.log(sortedMap);
  1. 値でソートする方法: マップの値でソートするには、マップのエントリー(キーと値のペア)を配列に変換し、配列をソートしてから新しいマップを作成します。以下のコード例を参考にしてください。
const map = new Map();
map.set("b", 2);
map.set("a", 1);
map.set("c", 3);
const sortedEntries = Array.from(map.entries()).sort((a, b) => a[1] - b[1]);
const sortedMap = new Map(sortedEntries);
console.log(sortedMap);
  1. キーまたは値で逆順にソートする方法: ソートを逆順に行いたい場合は、ソート関数の比較ロジックを変更します。以下のコード例では、キーの降順でソートしています。
const map = new Map();
map.set("b", 2);
map.set("a", 1);
map.set("c", 3);
const sortedKeys = Array.from(map.keys()).sort((a, b) => b.localeCompare(a));
const sortedMap = new Map();
for (const key of sortedKeys) {
  sortedMap.set(key, map.get(key));
}
console.log(sortedMap);

以上が、JavaScriptでマップをソートするいくつかの方法です。必要に応じてこれらのコード例を活用して、マップのソートを実装してみてください。