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 回答