我有以下脚本,它将2个提要加入并在屏幕上显示它们
$.when( //get feed 1, //get feed 2 ).done(function(a1, a2){
var data = a1[0]response.Data.feed.entries.concat(a2[0].responseData.feed.entries);
var sorted = data.sort(function(a, b) {
if(a.publishedDate > b.publishedDate) {
return 1
}
if(a.publishedDate < b.publishedDate) {
return -1
}
return 0
});
for( i = o; i <= sorted.length - 1; i++ ) {
document.write(sorted[i].title);
document.write(sorted[i].publishedDate);
}
});
这将返回所有行,但不会对行进行排序。排序似乎完全是随机的。我假设这是因为日期在JSON数据中的格式如下:
Mon, 23 Sep 2013 04:37:45 -0700
-0700
是什么意思-0700
表示UTC偏移量UTC-07:00
。正如Alnitak所说,这种特殊格式被接受,Date.parse
因此,如果您使用一种接受的格式,则可以使用本机JavaScript进行排序。
var dateStrings,
sortDates;
dateStrings = [
'Mon, 23 Sep 2013 04:37:45 -0700',
'Sun, 22 Sep 2013 05:27:32 +0300',
'Mon, 23 Sep 2013 03:14:17 -0700'
];
sortDates = function(dateStrings) {
return dateStrings.sort(function(a, b) {
return new Date(a) - new Date(b);
});
};
console.log(sortDates(dateStrings));
sorted
您可以使用以下方式正确检索代码段中的变量:
var sorted = data.sort(function(a, b) {
return new Date(a.publishedDate) - new Date(b.publishedDate);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句