首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有未定义值的角度自定义滤波器

带有未定义值的角度自定义滤波器
EN

Stack Overflow用户
提问于 2015-04-01 18:55:18
回答 1查看 367关注 0票数 2

我有一个角度上的物体数组,我试图用一种非常特殊的方法来排序,但我无法弄清楚。

以下是样本Javascript:

var app = angular.module('app',[]);

代码语言:javascript
复制
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:

代码语言:javascript
复制
<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/

而不是像这样显示:

代码语言:javascript
复制
d-1
z-2
r-11
g-20
a-
g-

我想让它展示如下:

代码语言:javascript
复制
g-20
r-11
z-2
d-1
a-
g-

因此,如果存在,我想要显示从最大到最小的“子”键,后面是未定义的“子”键。并按组按字母顺序显示具有未定义的“子”键的对象。

我还没有找到yet....any点子的诀窍吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-01 19:01:59

您可以像这样创建自定义订单:

代码语言:javascript
复制
$scope.order = function(division) {
  return -(division.sub || 0);
}

在HTML中

代码语言:javascript
复制
<div ng-repeat="division in divisions | orderBy:order">

参见示例https://jsfiddle.net/r4nsyp2v/2/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29398610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档