2016-04-04 84 views
0

我有這種格式的JSON數據。如何在JavaScript中對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

您可以對所需訂單使用助手對象。

{ 
    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>');

相關問題