在实际的开发工作中遇到了这样一个问题,项目后台返回的数组data是json格式的
如图:
我需要根据其中的time属性值对数组进行排序。
首先,我不考虑时间的格式,去网上找了排序方式,自己尝试,具体实现代码:
data.sort(this.sortId);
sortId(a,b){
return a.time - b.time;
}
参考资料:js中json对象数组按对象属性排序
很简单有木有,简直要感动哭~~~~(因为之前排序的功能是在后台完成的,代码量要大得多)
但是!!!现在还没有完成排序的功能,因为日期的这种格式不允许做这样的加减运算
又去度娘上找了日期格式转换为时间戳形式
(什么是时间戳形式,可以了解一下我的另一篇博客:unix_timestamp、from_unixtime时间戳函数的使用)
修改后代码如下:
data.sort(this.sortId);
sortId(a,b){
return new Date(a.time).valueOf() - new Date(b.time).valueOf();
}
排序后:
以上就成功实现了json数组根据time属性进行排序的功能。