Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 显示在表中排序的数据_Javascript_Html_Jquery_Json_Database - Fatal编程技术网

Javascript 显示在表中排序的数据

Javascript 显示在表中排序的数据,javascript,html,jquery,json,database,Javascript,Html,Jquery,Json,Database,我正在显示一个表,该表获取来自api的json格式的数据。 第一列是时间戳,但api没有给我排序的结果 因此,问题是:如何修改代码,使表中显示的行按顺序排列 根据第一列,哪个是数字(时间戳是13位) 非常感谢如果有人能提供帮助因为您有带有时间戳(unix 13位)的数组,所以您可以使用sort并提供一个函数来根据时间戳属性对数组进行排序 data.sort( function(a,b){ //use new Date parse string to date type

我正在显示一个表,该表获取来自api的json格式的数据。 第一列是时间戳,但api没有给我排序的结果

因此,问题是:如何修改代码,使表中显示的行按顺序排列 根据第一列,哪个是数字(时间戳是13位)


非常感谢如果有人能提供帮助

因为您有带有时间戳(unix 13位)的数组,所以您可以使用sort并提供一个函数来根据时间戳属性对数组进行排序

data.sort(
  function(a,b){ 
    
    //use new Date parse string to date type
    //convert date to number use Date.parse()
    //format function(a,b) { return a-b; }
    
    return Date.parse(new Date(a.timestamp)) - Date.parse(new Date(b.timestamp)); 
  }
);
var数据=[{
时间戳:“1563398686957”,
国家:“巴西”
},
{
时间戳:“1126398681149”,
国家:“美国”
},
{
时间戳:“1123398681149”,
国家:“英国”
},
{
时间戳:“1124398681149”,
国家:“印度”
},
{
时间戳:“1163398681149”,
国家:“加拿大”
}
];
$(文档).ready(函数(){
//首先清理数据
forEach(函数(x){x.timestamp=新日期(parseInt(x.timestamp))})
//对数据进行排序
让sortedData=data.sort(
函数(a,b){
//将新的日期解析字符串用于日期类型
//使用date.parse()将日期转换为数字
//格式化函数(a,b){返回a-b;}
返回Date.parse(a.timestamp)-Date.parse(b.timestamp);
}
);
var表=$(“国家”);
var-tr;
对于(变量i=0;i

尝试更改json,使每个json都有一个id,然后在for命令之前有body.sort(),或者您可以查看一下


还可以添加
body
op吗?可以使用
lodash
库按对象的属性对对象数组进行排序。对于您的情况,您可以按
正文对
正文
数组进行排序。时间戳
您可以使用datatable。它提供ajax加载和自定义列呈现。将来很容易集成和理解。