use*_*935 16 javascript jquery
我正在尝试排序我的数组.
该数组由时间格式的数据组成.
阵:
'9:15 AM', '10:20 AM', '02:15 PM'
Run Code Online (Sandbox Code Playgroud)
我该如何排序?
我正在获取此数据usig json服务并使用它来列出jquery mobile的listview中的事件.但我想按时间排序事件.
更新:我是如何在两个时间和时间从JSON分类数据的:
对于我的排序数据的特殊问题,按照日期和时间使用json,我这样做:
$.getJSON(serviceURL + 'read.php?month_no='+month_no, function(data) {
events = data.data;
events.sort(function(a,b){
a = new Date(a.event_date+' '+a.event_time);
b = new Date(b.event_date+' '+b.event_time);
return a<b?-1:a>b?1:0;
});
});
Run Code Online (Sandbox Code Playgroud)
Sho*_*rma 32
试试这个
var times = ['01:00 am', '06:00 pm', '12:00 pm', '03:00 am', '12:00 am'];
times.sort(function (a, b) {
return new Date('1970/01/01 ' + a) - new Date('1970/01/01 ' + b);
});
console.log(times);
Run Code Online (Sandbox Code Playgroud)
我的解决方案(用于格式如“ 11:00”,“ 16:30” ..的时间。)
sortTimes: function (array) {
return array.sort(function (a, b) {
if (parseInt(a.split(":")[0]) - parseInt(b.split(":")[0]) === 0) {
return parseInt(a.split(":")[1]) - parseInt(b.split(":")[1]);
} else {
return parseInt(a.split(":")[0]) - parseInt(b.split(":")[0]);
}
})
}
Run Code Online (Sandbox Code Playgroud)
万一有人想知道哈哈
实现sort(compare)函数并使用任意日期比较日期字符串:
Array.sort(function (a, b) {
return Date.parse('01/01/2013 '+a) - Date.parse('01/01/2013 '+b)
});
Run Code Online (Sandbox Code Playgroud)
01/01/2013是任意日期。