2014-06-09 179 views
0

我有一個類似下面的json對象,如何使用日期對它進行排序?按值排序json對象

json = {"date_hash":{"second_bleed":"2014-09-08","sixth_boost":"2014-10-28","first_boost":"2014-06-24","first_bleed":"2014-08-08","fifth_boost":"2014-09-30","fourth_bleed":"2014-11-03","second_boost":"2014-07-15","fourth_boost":"2014-09-02","third_bleed":"2014-10-06","primary_injection":"2014-06-02","third_boost":"2014-08-05"}} 

我試圖做

json['date_hash'].sort(function(a, b){ 

}); 

排序是不是JSON的功能?

+2

它是一個對象,它沒有秩序,不能進行排序 – adeneo

+0

看起來像要打印的日期出以某種順序,所以,首先把所有的日期在一些陣列和排序的話,我建議而推動每個陣列,你可以在那個時候進行排序。 –

+0

沒有像JSON對象那樣的東西。 JSON(JavaScript Object * Notation *)是一個字符串。 「JSON是*文本格式*,完全不依賴語言...」請參閱:http://www.json.org/ – KooiInc

回答

0

date_hash對象是沒有訂單(不可排序)的JSON對象。

你應該儘量使用數組:

{"date_hash": [ 
    {"name": "second_bleed", "date": "2014-09-08"}, 
    .... 
    {"name": "sixth_boost", "date": "2014-09-28"} 
]} 

,然後你的東西類似於你使用排序功能。

function (a, b) { 
    if (a.date < b.date) { 
     return -1; 
    } else if (a.date > b.date) { 
     return 1; 
    }; 
    return 0; 
}