我有一个具有下一个结构的 JSON 对象:
{
"matters": [
{
"title": "Systems",
"date": "23/08/2010",
"score": 5
},
....
]
}
我想用sort()
函数对这些数据进行排序。我可以通过使用该score
字段来做到这一点,但我不能使用该date
字段对其进行排序。这是我目前正在使用的:
$.getJSON('js/data.json', function(data) {
// data now contains one node with all the matters
$.each(data, function(key, val) {
// val now contains one matter per nodes
val.sort(function (a,b) {
return
parseInt(a.date.substring(6,10)+a.date.substring(3,5)+a.date.substring(0,2)) -
parseInt(b.date.substring(6,10)+b.date.substring(3,5)+b.date.substring(0,2));
});
// Here I get the same array not sorted!
}
});
这两个parseInt()
函数都返回一个具有这种格式的整数:
if date=="23/08/2010" => 20100823
我使用警报来检查我是否正确分割了日期,这很好。无论如何,我无法对数组进行排序。
我正在使用这个JSON 文件测试代码。
我究竟做错了什么?