Javascript AngularJS-如何对属性进行排序?I';在对表头进行排序时,我试图将所有空值强制到底部

Javascript AngularJS-如何对属性进行排序?I';在对表头进行排序时,我试图将所有空值强制到底部,javascript,angularjs,sorting,angularjs-directive,angularjs-ng-repeat,Javascript,Angularjs,Sorting,Angularjs Directive,Angularjs Ng Repeat,以下是一些代码片段: ... <th class="header" ng-click="sortType = 'ProjectCode'; sortReverse = !sortReverse"> <span ng-show="sortType == 'ProjectCode' && !sortReverse" class="fa fa-caret-up"></span> <span ng-show="sortType ==

以下是一些代码片段:

...
<th class="header" ng-click="sortType = 'ProjectCode'; sortReverse = !sortReverse">
   <span ng-show="sortType == 'ProjectCode' && !sortReverse" class="fa fa-caret-up"></span>
   <span ng-show="sortType == 'ProjectCode' && sortReverse" class="fa fa-caret-down"></span>
   Code
</th>
<th class="header" ng-click="sortType = 'ProjectName'; sortReverse = !sortReverse">
   <span ng-show="sortType == 'ProjectName' && !sortReverse" class="fa fa-caret-up"></span>
   <span ng-show="sortType == 'ProjectName' && sortReverse" class="fa fa-caret-down"></span>
   Project Name
</th>
...
<tr ng-repeat="collection in filteredCollections = (collections | filter:collectionFilter | orderBy:sortType:sortReverse)" ng-class-odd="'odd'" ng-class-even="'even'">
。。。
代码
项目名称
...
那么,在我的ng repeat中,是否有任何方法可以从标题中获取
sortType
属性

我正在而不是尝试在加载时将默认属性的所有空值发送到列表的末尾。相反,每次我单击一个表头时,我都想获取即将排序的属性,并在Angular应用程序中处理空值(将该属性的所有空值发送到数组的末尾)。对于表中的每个标题。
还是有更简单的方法呢?

我想出来了。我在Angular应用程序中声明了一个过滤器:

app.filter("emptyToEnd", function () {
    return function (array, key) {
    if(!angular.isArray(array)) return;
         var present = array.filter(function (item) {
            return item[key];
         });

         var empty = array.filter(function (item) {
            return !item[key]
         });

         return present.concat(empty);
     };
});
并将
| emptyToEnd:sortType
添加到my ng repeat的末尾