0

私は非常に単純な json オブジェクトを持っています。

{
   "costA": 9617,
   "costB": 11100,
   "costC": 13208,
   "costD": 9910
}

このjsonを(JavaScriptで)ソートして結果を取得することは可能ですか?

{
   "costA": 13208,
   "costB": 11100,
   "costC": 9910,
   "costD": 9617
}

注:key名前は変更される可能性があります..

4

1 に答える 1

0

以下の JavaScript は、あなたが求めている結果を提供します: {costA: 13208, costB: 11100, costC: 9910, costD: 9617}:

var obj = JSON.parse('{"costA": 9617, "costB": 11100, "costC": 13208, "costD": 9910}');
var values = [], keys = [], key, i;
for (key in obj) {
    keys.push(key);
    values.push(obj[key]);
}
values.sort(function (a, b) { return b-a; });
keys.sort();
for (i = 0; i < keys.length; ++i) {
    key = keys[i];
    val = values[i];
    obj[key] = val;
}

console.log(obj);

フィドルも参照してください。

于 2013-02-22T09:39:46.690 に答える