以毫秒为单位取一个对象数组,每个对象object.timestamp
,并从最新到最旧排序。
Angular的orderBy似乎没有按正确的顺序排列。以下时间戳按以下顺序排列:
// Nov/16/2014 5:30:PM
// Nov/16/2014 5:31:PM
// Nov/16/2014 5:51:PM
// Nov/16/2014 5:52:PM
// Nov/16/2014 1:27:AM
正确/期望的顺序显然是:
// Nov/16/2014 5:52:PM
// Nov/16/2014 5:51:PM
// Nov/16/2014 5:31:PM
// Nov/16/2014 5:30:PM
// Nov/16/2014 1:27:AM
所以它应该是4, 3, 2, 1, 5
,显然应该是1, 2, 3, 4, 5
<div class="cardWrapper" ng-repeat="card in cards | orderBy:'timestamp'">
various child elements
</div>
scope.cards = homeData.get().cards; // returns an array of objects
// ^this^ becomes something similar to
scope.cards = [
{text: 'some text...', timestamp: 1416189138827, other: 'data'},
{text: 'some text...', timestamp: 1416187881192, other: 'data'}
//etc...
];
答案 0 :(得分:0)
您的时间戳是通过您的API作为字符串而不是整数?我在这里意识到它看起来很好。
答案 1 :(得分:0)
尝试将时间戳转换为日期,然后使用angularjs中的orderBy()
进行排序。