0
"attributes": [
    "BytesServed",
    "Duration",
    "UniqueIPAddresses",
    "StopEvents",
],
"rows": [
    [
        "12118931578714",
        "160557966.305",
        "372",
        "193381",
    ],
    [

        "248313315029",
        "4628315.959",
        "350",
        "27352",

    ],
]

2つの配列があり、最初の配列にはキーがあり、2番目の配列は値を持つ多次元配列です。

キーを渡すことで降順で値を取得するJavascriptまたはjQueryの定義済み関数はありますか?

私には解決策がありますが、それはよりコストのかかるアプローチだと感じています。誰かがより良い解決策を持っているなら、私に知らせてください。

私の現在の解決策は、最初の配列からインデックスを取得し、2番目の配列をループして一時配列を作成し、その一時配列を並べ替えて使用することです。

4

1 に答える 1

0

一時配列を作成する必要はありません。探している属性のインデックスを取得したら(この例では、それがという変数にindexあり、JSONオブジェクト全体がにあると想定しますjsondata)、単純な方法で次のsortようになります。

jsondata.rows.sort(function(a,b) {
    return a[index]-b[index];
});

そして、ソートされた配列があります。

于 2012-06-22T14:51:49.767 に答える