JavaScriptで連想配列を数値の降順でソートする方法
2024/05/22
JavaScriptで連想配列を数値の降順でソートしたかったんだけど、色々調べてhash.sort云々やっても上手いこといかず。そこでバブルソートすればいいんじゃないのかと思って調べたらいけた。以下にソースコードをメモ。
ソースコード
let hash = [ {num: 5}, {num: 1}, {num: 3}, {num: 2}, {num: 4}, ] for( let i = 0, len = hash.length - 1; i < len; i++ ){ for( let j = 0, len2 = hash.length - i - 1; j < len2; j++ ){ if( Number(hash[j].num) < Number(hash[j + 1].num) ){ n = hash[j]; hash[j] = hash[j + 1]; hash[j + 1] = n; } } } console.log(hash);
上記ソースコードを実行すると以下がコンソールに表示される筈。numの降順になっている点が確認できる。
Array(5) [ {…}, {…}, {…}, {…}, {…} ] 0: Object { num: 5 } 1: Object { num: 4 } 2: Object { num: 3 } 3: Object { num: 2 } 4: Object { num: 1 }
参考サイト
関連記事
-
バニラJS対応(jQuery非依存)の画像スライダー系プラグイン「Flickity」の利用方法
画像スライダーを設置する場合「slick」プラグインを利用することが多い。ただ、 ...
-
jQuery UIのDatepickerでリセット(入力内容消去)ボタンの追加方法
jQuery UIのDatepickerでキーボード入力を防ぎたいためreado ...
-
マウスオーバーでの画像切り替えをJavaScriptで簡単に対応
マウスが要素にのった際に画像を切り替える処理を入れたかった。多分CSSの管轄なん ...
-
JavaScriptで英字を大文字⇔小文字に変換する方法
JavaScriptで英字を大文字⇔小文字に変換したかった。以下に対応方法をメモ ...
-
JavaScriptにて「QRCode.js」ライブラリを利用してQRコードを生成する方法
PHPが使えない環境で動的にQRコードを生成したかった。以前にメモしたAPI等の ...