我有一个Ex:
的数据集$scope.friends =
[{name:'John', score:'10'},
{name:'Mary', score:'19'},
{name:'Mike', score:'-21'},
{name:'Adam', score:'-35'},
{name:'Julie', score:'29'}];
}]);
我将此数据用作ng-repeat
,
<tr ng-repeat="friend in friends | orderBy:'-score' ">
<td>{{friend.name}}</td>
<td>{{friend.score}}</td>
</tr>
我想按friends
顺序按score
对descending
进行排序。如下,
Name Score
-------------
Julie 29
Mary 19
John 10
Mike -21
Adam -35
但是我得到了输出,
Name Score
-------------
Julie 29
Mary 19
John 10
Adam -35
Mike -21
这是一个Demo Plunker
请注意 -21和-35在输出中的顺序不正确,这是因为score
属性是String
值。如果我将其更改为int
值,那么所有都按预期工作。如何克服这一点,请考虑我无法更改score
属性的类型。
答案 0 :(得分:2)
怎么样?
<tr ng-repeat="friend in friends | orderBy:'+-score' ">
<td>{{friend.name}}</td>
<td>{{friend.score}}</td>
</tr>