勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

JavaScriptで連想配列を数値の降順でソートする方法

   2024/05/22  JavaScript

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 }

 

参考サイト

http://www.openspc2.org/reibun/javascript/sort/002/

 - JavaScript

  関連記事

JavaScriptで特定の範囲内から数値が被らずにランダムに取り出す方法
JavaScriptで特定の範囲内から数値が被らずにランダムに取り出す方法

1位から20位のランキング内でJavaScriptを用いてランダムに表示させたか ...

ラジオボタンのカスタムデータ属性を取得し、特定の値の場合はチェックさせない方法
ラジオボタンのカスタムデータ属性を取得し、特定の値の場合はチェックさせない方法

ASPを使用したサイトで特定のradioボタンは選択不可にしたいというケースがあ ...

マウスオーバーでの画像切り替えをJavaScriptで簡単に対応
マウスオーバーでの画像切り替えをJavaScriptで簡単に対応

マウスが要素にのった際に画像を切り替える処理を入れたかった。多分CSSの管轄なん ...

JavaScriptでWebカメラやスマホカメラを利用してQRコードを読み取りURLを返す方法
JavaScriptでWebカメラやスマホカメラを利用してQRコードを読み取りURLを返す方法

JavaScriptのjsQRというライブラリで簡単にWebページ版QRコードリ ...

AndroidのChromeでハマった点
AndroidのChromeでハマった点

Nexus7(Android4.3)のChromeでハマった。 iPhoneやG ...