[解決済み] JavaScriptでマップを値で並べ替えるには?
2022-02-18 15:27:47
質問
このマップを値で並べ替えるには?
var map = new Map();
map.set('orange', 10);
map.set('apple', 5);
map.set('banana', 20);
map.set('cherry', 13);
解決方法は?
ヨは、別のアプローチで、変更することができます
Symbol.iterator
の
Map.prototype[@@iterator]()
を使用すると、カスタムソートされた結果を得ることができます。
var map = new Map();
map.set("orange", 10);
map.set("apple", 5);
map.set("banana", 20);
map.set("cherry", 13);
map[Symbol.iterator] = function* () {
yield* [...this.entries()].sort((a, b) => a[1] - b[1]);
}
for (let [key, value] of map) { // get data sorted
console.log(key + ' ' + value);
}
console.log([...map]); // sorted order
console.log([...map.entries()]); // original insertation order
.as-console-wrapper { max-height: 100% !important; top: 0; }
関連
-
[解決済み】webpack-dev-serverにリモート接続すると、「Invalid Host header」というメッセージが表示されます。
-
[解決済み】HTMLの最初の行に予期しないトークン<がある。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Uncaught TypeError: nullのプロパティ'value'を読み取ることができない
-
[解決済み】ある要素が可視DOMに存在するかどうかを確認するにはどうすればいいですか?
-
[解決済み] テスト
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み】getElementByIdはnullを返す?[クローズド]
-
[解決済み】エラー:リクエストのエンティティが大きすぎる
-
[解決済み】XMLパースエラー:ルート要素が見つからない コンソールの場所 FF
-
[解決済み】このオブジェクトの "forEach "はなぜ関数でないのですか?
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。
-
[解決済み] Uncaught (in promise) TypeError: フェッチに失敗してCorsエラー