我怎样才能获得角度的反转数组?我正在尝试使用 orderBy 过滤器,但它需要一个谓词(例如“名称”)来排序:
<tr ng-repeat="friend in friends | orderBy:'name':true"> <td>{{friend.name}}</td> <td>{{friend.phone}}</td> <td>{{friend.age}}</td> <tr>
有没有办法在不排序的情况下反转原始数组。像那样:
<tr ng-repeat="friend in friends | orderBy:'':true"> <td>{{friend.name}}</td> <td>{{friend.phone}}</td> <td>{{friend.age}}</td> <tr>
我建议使用这样的自定义过滤器:
app.filter('reverse', function() { return function(items) { return items.slice().reverse(); }; });
然后可以像这样使用:
<div ng-repeat="friend in friends | reverse">{{friend.name}}</div>
在这里看到它的工作:Plunker Demonstration
该过滤器可以根据您的需要进行定制。我在演示中提供了其他示例。一些选项包括在执行反转之前检查变量是否为数组,或者更宽松地允许反转更多的东西,例如字符串。