読者です 読者をやめる 読者になる 読者になる

みかづきブログ その3

3ヶ月つづけてみました。

JavaScriptで配列の中の連想配列(オブジェクト)をキーでソートする

JavaScript

例えば、こんな連想配列の配列があったときの話です。

    var marines = [
        {no:61, name: "角中", ave: 0.274, game:43},
        {no:7, name: "鈴木", ave: 0.262, game:43},
        {no:6, name: "井口", ave: 0.243, game:39},
        {no:47, name: "クルーズ", ave: 0.248, game:37}
    ];

昇順にソート

    // 背番号昇順にソート
    marines.sort(function(a, b) {
        return (a.no < b.no) ? -1 : 1;
    });

降順にソート

    // 背番号降順にソート
    marines.sort(function(a, b) {
        return (a.no > b.no) ? -1 : 1;
    });

1つ目のキーで昇順にならべつつ、そのなかで2つ目のキーでも昇順にならべる

    // 試合数昇順,背番号昇順にソート
    marines.sort(function(a, b) {
        if (a.game < b.game) return -1;
        if (a.game > b.game) return 1;
        if (a.no < b.no) return -1;
        if (a.no > b.no) return 1;
    });

こんな感じでサクッとソートできます。

サンプル