如何在Javascript中对Json数据进行排序?

时间:2016-04-04 07:04:38

标签: javascript json

我有这种JSON数据格式。

 {"count": 3, "records": [
 {"common":{"review_date": "2016-02-07 07:00:00","severityid": {"value": "2", "description": "Medium"}}},
 {"common":{"review_date": "2016-02-07 08:00:00","severityid": {"value": "2", "description": "Serious"}}},
 {"common":{"review_date": "2016-02-07 08:00:00","severityid": {"value": "2", "description": "Minor"}}}
 ]}

我想按照严重,中等和次要的顺序看到这一点。

{"count": 3, "records": [
 {"common":{"review_date": "2016-02-07 08:00:00","severityid": {"value": "2", "description": "Serious"}}},
 {"common":{"review_date": "2016-02-07 07:00:00","severityid": {"value": "2", "description": "Medium"}}},
 {"common":{"review_date": "2016-02-07 08:00:00","severityid": {"value": "2", "description": "Minor"}}}
 ]}

1 个答案:

答案 0 :(得分:1)

您可以使用所需订单的辅助对象。

{
    Serious: 1, 
    Medium: 2, 
    Minor: 3
}

var data = { "count": 3, "records": [{ "common": { "review_date": "2016-02-07 07:00:00", "severityid": { "value": "2", "description": "Medium" } } }, { "common": { "review_date": "2016-02-07 08:00:00", "severityid": { "value": "2", "description": "Serious" } } }, { "common": { "review_date": "2016-02-07 08:00:00", "severityid": { "value": "2", "description": "Minor" } } }] };

data.records.sort(function (a, b) {
    var order = { Serious: 1, Medium: 2, Minor: 3 };
    return order[a.common.severityid.description] - order[b.common.severityid.description];
});
document.write('<pre>' + JSON.stringify(data, 0, 4) + '</pre>');