如何在ng-repeat AngularJS中解决方法sort()?

时间:2014-04-13 19:05:42

标签: javascript arrays angularjs sorting angularjs-ng-repeat

我创建了一个带数字的数组,但是方法sort()没有在ng-repeat中正确排序。

例如

$scope.order = ['1', '10', '11', '22', '29', '2'];

例如

<li ng-repeat="key in order.sort()">{{key}}</li>

了解如何订购

1 10 11 2 22 29

1 2 10 11 22 29

例如 http://jsfiddle.net/YWsJ7/

2 个答案:

答案 0 :(得分:2)

您可以将orderBy过滤器与expression参数一起使用。在以下示例中,数组的每个值都将传递给parseInt函数,然后使用<>=来比较值:

<强>的JavaScript

function mainCtrl($scope) {  
    $scope.parseInt = parseInt;
    $scope.order = ['1', '10', '11', '22', '29', '2'];
}

<强> HTML

<li ng-repeat="key in order | orderBy : parseInt ">{{key}}</li>

小提琴:http://jsfiddle.net/5kRRc/3/

orderBy过滤器

上的文档

答案 1 :(得分:1)

您可以使用角度filter方法:

 <li ng-repeat="key in order | orderBy: 'value'">{{key.value}}</li>

JSFIDDLE