angularjs根据json数组中某一属性进行排序

在实际的开发工作中遇到了这样一个问题,项目后台返回的数组data是json格式的

如图:

angularjs根据json数组中某一属性进行排序_第1张图片

我需要根据其中的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();
}

参考资料:angular中怎么把格式化的日期转化成时间戳

排序后:

angularjs根据json数组中某一属性进行排序_第2张图片

以上就成功实现了json数组根据time属性进行排序的功能。

你可能感兴趣的:(Angular)