我在Angular中有一個對象數組,我試圖對其進行排序,但我無法弄清楚。Angular中的自定義過濾器帶有未定義的值
這裏的示例JavaScript:
變種應用= angular.module( '應用',[]);
function Ctrl($scope) {
$scope.divisions = [
{'group':'d','sub':1},
{'group':'a'},
{'group':'z','sub':2},
{'group':'g','sub':20},
{'group':'g'},
{'group':'r','sub':11}];
}
這裏的樣本HTML:
<div class="test" ng-controller="Ctrl">
<div ng-repeat="division in divisions | orderBy:['sub','group']">{{division.group}}-{{division.sub}}</div>
<div>
這裏的小提琴:https://jsfiddle.net/r4nsyp2v/1/
,而是它的顯示,如:
d-1
z-2
r-11
g-20
a-
g-
我希望它顯示,如:
g-20
r-11
z-2
d-1
a-
g-
所以我想要顯示的'子'鍵從最大到最小,如果它存在,與未定義的'子'鍵之後。並按組的字母順序顯示帶有未定義'子'鍵的對象。
我還沒有找到訣竅呢....任何想法?
嘗試'排序依據:[ ' - 子', '組' ]' – zsong 2015-04-01 18:59:45
我想我可以將數組拆分成兩個不同的數組(一個'sub'定義,另一個沒有),對它們進行排序,然後將它們放回到一起。似乎應該有更清晰的方式。 – JulieMarie 2015-04-01 18:59:54
使用'-sub'後使用過濾器:http://stackoverflow.com/questions/18604374/angularjs-orderby-with-empty-field – MingShun 2015-04-01 19:04:42