当前位置: 首页 > 面试题库 >

如何使用角度过滤器对数据进行分组?

松安民
2023-03-14
问题内容

我有一个属于每个小组的球员名单。如何使用过滤器列出每个组的用户?

[{name: 'Gene', team: 'team alpha'},
 {name: 'George', team: 'team beta'},
 {name: 'Steve', team: 'team gamma'},
 {name: 'Paula', team: 'team beta'},
 {name: 'Scruath of the 5th sector', team: 'team gamma'}];

我在寻找这个结果:

  • team alpha
  • Gene
  • team beta
  • George
  • Paula
  • team gamma
  • Steve
  • Scruath of the 5th sector

问题答案:

可以使用angular.filter模块的groupBy。 因此您可以执行以下操作:

JS:

$scope.players = [
  {name: 'Gene', team: 'alpha'},
  {name: 'George', team: 'beta'},
  {name: 'Steve', team: 'gamma'},
  {name: 'Paula', team: 'beta'},
  {name: 'Scruath', team: 'gamma'}
];

HTML:

<ul ng-repeat="(key, value) in players | groupBy: 'team'">
  Group name: {{ key }}
  <li ng-repeat="player in value">
    player: {{ player.name }} 
  </li>
</ul>

结果:
Group name: alpha * player: Gene
Group name: beta * player: George * player: Paula
Group name: gamma * player: Steve * player: Scruath


更新:
jsbin请记住要使用的基本要求angular.filter,特别注意您必须将其添加到模块的依赖项中:

(1)您可以使用4种不同的方法安装角度过滤器:

  1. 克隆并构建此存储库
  2. 通过Bower:通过运行$ bower在终端上安装angular-filter
  3. 通过npm:通过运行$ npm从您的终端安装angular-filter
  4. 通过cdnjs
    filter

(2)在包含Angular本身之后,在您的index.html中包含angular-filter.js(或angular-filter.min.js)。

(3)将“ angular.filter”添加到主模块的依赖项列表中。



 类似资料:
  • 我用这个函数从后端获取数据 和显示JSON,如下所示 我需要的是具有的数据,为此我创建 这部分代码显示为空。 请问如何使用

  • 本文向大家介绍如何换个角度使用VUE过滤器详解,包括了如何换个角度使用VUE过滤器详解的使用技巧和注意事项,需要的朋友参考一下 前言 过滤器在Vue中的主要用于文本格式化,如小写转大小,日期格式化等操作。官方对这个功能介绍也很简单,不过确实很简单,就一个函数而已。但最近在做两款APP时,遇到一些特殊的需求。然后就对vue中的filter一些用法结合源码好好的梳理了下。下边我们以一个日期格式化展开讨

  • 我正在编写一个Python脚本来从我的数码相机导入图片,并且我正在使用Pandas来帮助记账传入的图像。我正在使用EXIF数据为单个图像标记信息,例如相机型号、图像模式、图像格式和相机获取图像的时间戳。这些数据用于将图像分离到目录结构中。我正在努力解决的是如何使用Pandas根据一组时间戳对图像进行分组,例如,这些时间戳都在彼此相隔半小时之内。举个例子,假设我有六张照片,其中三张是在相隔9分钟内拍

  • 问题内容: 我目前正在使用文本输入来过滤项目列表。我想这样做,以便在设置特定变量时,无论文本输入是什么,列表都不会过滤。关于如何实现此目标的任何建议? 问题答案: 如果将过滤器表达式设置为(或)(这会导致不应用过滤器)(设置您的时间),否则将其设置为实际过滤器表达式,则可以实现此目的。 编辑2 :另一个答案(@Ryan下面)更简单易懂。现在不记得它最初是否对我不起作用,或者我只是没有想到这种简单的

  • 问题内容: 我想在 angularjs 1.2中 使用unsafe-html 。没有html的过滤器可以工作,而html则不能。我做的事: 我在我的html头中添加了angular-sanitize: 我的角度模块: 我的HTML: 编辑:更新为 问题答案: 已在Angular 1.2中删除。由于您正确地清理了输入内容,因此应该使用。 示例:http://plnkr.co/edit/0bHeXra

  • 我有完全合法的数据来源: 我将其显示在这样的表中: 现在假设我想过滤我的数组。如果我有固定的行数,我可以在< code>tr元素上使用< code>*ngIf来选择显示/不显示一个项目,但是Angular不允许在一个元素上有两个结构指令。 我知道我可以使用< code>Array.filter简单地过滤源数组,但是这样会产生一个副本,如果我的数组大得多,这可能会成为一个问题。 我想将该行嵌套在某个