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 }
参考サイト
関連記事
-
-
JavaScript / PHPにて「lz-string」を用いてデータの圧縮・展開する方法
文字数が多いGETパラメータを送信したいというケースがあった。また、送信側はJa ...
-
-
Video.jsで表示させた動画プレイヤーに指定したテキスト表示し、位置をランダムに変更する方法
Video.jsで表示させた動画プレイヤーに指定したテキスト表示し、さらにそのテ ...
-
-
Video.jsで表示させた動画プレイヤーにロゴ画像(透かし)を追加する方法(videojs-logo)
Video.jsで表示させた動画プレイヤーの右上等、指定の位置にロゴ画像(透かし ...
-
-
横スクロール可能な要素を視覚的に分かりやすくする「ScrollHint」ライブラリの利用方法
横長のtableを設置し、CSSのoverflowで横スクロール可能にしてもユー ...
-
-
クロスドメイン突破をjavascriptで行う
ajaxとかでクロスドメインを突破する際は、 PHPファイルを介すかJSONPを ...