我有一个这样的数组:
$scope.telcodes = ['44', '01', '221', '335'];
如何在这样的简单数组上使用orderBy来生成从01开始的有序列表?
我知道如何在包含对象的数组上执行此操作,但不知道如上所述的简单数组。
<li data-ng-repeat="telcode in telcodes | orderBy:????:false track by $index">
答案 0 :(得分:4)
您可以在控制器中声明简单的proxy
函数并使用它:
控制器:
$scope.proxy = function(x) { return x; }
HTML:
<tr ng-repeat="t in telcodes | orderBy: proxy">
但是,它会为您提供字符串比较(demo)。
要获得标准数字比较,请稍微修改proxy
(demo):
$scope.proxy = function(x) { return x * 1; }
答案 1 :(得分:3)
<tr ng-repeat="t in telcodes | orderBy>
答案 2 :(得分:2)
这很奇怪。
以下是我能提出的最短解决方案:http://plnkr.co/edit/WsofTTYIGa2OSuTsJCKd
<强>控制器强>
$scope.id = function (d) { return d; }; // return +d; if you want numeric sort.
<强>模板强>
<li ng-repeat="item in arr | orderBy:id:false">{{item}}</li>