我的 json 响应中有时间戳值,并且能够正确解析该值。 每个图像都有自己的时间戳值,我需要以增加的时间戳值显示它。这意味着最后更新的图像应该首先加载到我的应用程序中。
时间戳在 JSON 响应中采用以下格式:
Brand1{
"FileName": "520120427043622011.jpg",
"UpdateTimeStamp": "Jun 10, 2013 8:31:23 AM"
}
Brand2{
"FileName": "Kung_Fu_Fingers.jpg",
"UpdateTimeStamp": "Jun 5, 2013 6:51:12 AM"
}
Brand3{
"FileName": "google_logo1.jpg",
"UpdateTimeStamp": "Jun 10, 2013 8:31:23 AM"
}
任何人都可以指导我使用 Javascript 或 jQuery 函数根据时间戳值对上述三个品牌图像项目进行排序。 我在拆分 dat 值后使用了排序函数,但它仅按字母顺序对月份进行排序。 请帮我找到解决方案。
提前致谢。
最佳答案
var files = [{
"FileName": "520120427043622011.jpg",
"UpdateTimeStamp": "Jun 10, 2013 8:31:23 AM"
},{
"FileName": "Kung_Fu_Fingers.jpg",
"UpdateTimeStamp": "Jun 5, 2013 6:51:12 AM"
},{
"FileName": "google_logo1.jpg",
"UpdateTimeStamp": "Jun 10, 2013 8:31:23 AM"
}];
files.sort(function(a, b){
var d1 = new Date(a.UpdateTimeStamp);
var d2 = new Date(b.UpdateTimeStamp);
return d1-d2; // d2-d1 for descending order
});
编辑:
时间戳数组
var updateTimeStamps = ["Aug 10, 2013 8:31:23 AM","Jun 5, 2013 6:51:12 AM" ,"May 10, 2013 8:31:23 AM"];
updateTimeStamps.sort(function(a, b){
var d1 = new Date(a);
var d2 = new Date(b);
return d1-d2; // d2-d1 for descending order
});
console.log(updateTimeStamps);
编辑 2: 用于保留两个数组并进行排序
var imgs = ["img1", "img2", "img3"];
var times = ["Jul 10, 2013 8:31:23 AM","Jan 5, 2013 6:51:12 AM" ,"Feb 10, 2013 8:31:23 AM"];
var sorting = [];
times.sort(function(a, b){
var d1 = new Date(a);
var d2 = new Date(b);
var d = d1-d2; // d2-d1 for descending order
sorting.push(d);
return d;
});
imgs.sort(function(a, b){
return sorting.shift();
});
console.log(times);
console.log(imgs);
关于javascript - 根据来自 JSON 响应的时间戳值对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17026409/