如何将使用JavaScript请求到的JSON数据根据时间进行重新排序?在浏览器中使用JavaScript或jQuery请求到JSON数据后,需要将这些数据根据实际进行重新排序,如何实现?
这很简单,具体思路是:拿到请求的JSON数据,从JSON中取出数据的数组集合,然后对该数组进行排序,使用数组Array的sort()函数进行自定义排序,因为排序的是时间,所以我们可以将字符串格式的时间转为数值时间戳,使用数值时间戳也就可以进行比较排序了,代码如下:
$.ajax({
url: "https://api.apiopen.top/getImages?page=2&count=5",
method: "POST",
success: function(result){
var array = result.result; // 获取JSON数据的数组
// 使用sort()自定义数组排序,images为返回已经过排序的数组
var images = array.sort(function(a, b){
if(time(a.time) > time(b.time)) // 根据时间戳进行比较
return 1;
else if(time(a.time) < time(b.time))
return -1;
else
return 0;
});
console.log(images);
}
});
// 将字符串格式的时间转为数值类型的时间戳
function time(str){
return new Date(str).getTime();
}
评论前必须登录!
注册