我想对清单进行排序。
我有这个JSON,
{
"ships": [{
"Code": "s01",
"Quantity": "10",
"Desc": "Ship 1",
"Date": "Jul 01 2016"
},{
"Code": "s03",
"Quantity": "4",
"Desc": "Ship 2",
"Date": "Jul 03 2016"
},{
"Code": "s02",
"Quantity": "2",
"Desc": "Ship 4",
"Date": "Jul 02 2016"
}]
}
如何按日期,代码或字母顺序对其进行排序?
我可以使用jQuery。我尝试了这段代码,
var element = ...;
element.Sort();
它不起作用。
最佳答案
您只需要实现自己的sort()
逻辑即可。尝试这个:
data.ships.sort(function(a, b) {
return a.Date < b.Date ? -1 : a.Date > b.Date ? 1 : 0;
});
Example fiddle
您可以根据需要更改对象的属性。您甚至可以将其放入函数中以保持代码DRY:
function sortByProperty(array, propName) {
array.sort(function(a, b) {
return a[propName] < b[propName] ? -1 : a[propName] > b[propName] ? 1 : 0;
});
}
sortByProperty(data.ships, 'Code');