如何在Angular 2中对数据进行分组?

怪物史莱克

如何使用TypeScript在Angular 2中对数据进行分组。我知道这是在Angular 1.X中使用“分组依据”过滤器完成的,但没有在Angular 2中获得如何对数据进行分组的方法。我有以下数组:

import {Employee} from './employee';
        export var employees: Employee[];
        employees = [
            { id: 1, firstName: "John", lastName: "Sonmez", department: 1, age: 24, address: "24/7, Working hours apartment, Cal. US", contactNumber: "+968546215789" },
            { id: 2, firstName: "Mark", lastName: "Seaman", department: 2, age: 25, address: "32-C, Happy apartments, Block-9C, Cal. US", contactNumber: "+968754216984" },
            { id: 3, firstName: "Jamie", lastName: "King", department: 3, age: 32, address: "54/II, Glorydale apartment, Cal. US", contactNumber: "+967421896326" },

            { id: 5, firstName: "Jacob", lastName: "Ridley", department: 5, age: 24, address: "24/7, Working hours apartment, Cal. US", contactNumber: "+968546215789" },
            { id: 6, firstName: "Peter", lastName: "Parker", department: 3, age: 25, address: "32-C, Happy apartments, Block-9C, Cal. US", contactNumber: "+968754216984" },
            { id: 7, firstName: "Martin", lastName: "Luther", department: 4, age: 32, address: "54/II, Glorydale apartment, Cal. US", contactNumber: "+967421896326" },
            { id: 8, firstName: "Raghav", lastName: "Kumar", department: 1, age: 34, address: "51/C Shivalik, Cal. US", contactNumber: "+967842569842" },

            { id: 9, firstName: "Narayan", lastName: "Sonmez", department: 3, age: 24, address: "24/7, Working hours apartment, Cal. US", contactNumber: "+968546215789" },
            { id: 10, firstName: "Russell", lastName: "Andre", department: 2, age: 25, address: "32-C, Happy apartments, Block-9C, Cal. US", contactNumber: "+968754216984" },
            { id: 11, firstName: "Ramona", lastName: "King", department: 4, age: 32, address: "54/II, Glorydale apartment, Cal. US", contactNumber: "+967421896326" },
            { id: 12, firstName: "Andre", lastName: "Russell", department: 1, age: 34, address: "51/C Shivalik, Cal. US", contactNumber: "+967842569842" },

            { id: 13, firstName: "Nathan", lastName: "Leon", department: 1, age: 24, address: "24/7, Working hours apartment, Cal. US", contactNumber: "+968546215789" },
            { id: 14, firstName: "Brett", lastName: "Lee", department: 5, age: 25, address: "32-C, Happy apartments, Block-9C, Cal. US", contactNumber: "+968754216984" },
            { id: 15, firstName: "Tim", lastName: "Cook", department: 2, age: 32, address: "54/II, Glorydale apartment, Cal. US", contactNumber: "+967421896326" },
            { id: 16, firstName: "Steve", lastName: "Jobs", department: 5, age: 34, address: "51/C Shivalik, Cal. US", contactNumber: "+967842569842" }
        ];

我希望按部门来统计员工人数,例如

部门1有4名员工

等等。

将部门ID与实际部门结合在一起(以便我可以获取部门名称)是我需要弄清楚的另一个故事。

yurzui

我将创建一个自定义管道,如下所述:

@Pipe({name: 'groupBy'})
export class GroupByPipe implements PipeTransform {
  transform(value: Array<any>, field: string): Array<any> {
    const groupedObj = value.reduce((prev, cur)=> {
      (prev[cur[field]] = prev[cur[field]] || []).push(cur);
      return prev;
    }, {});
    return Object.keys(groupedObj).map(key => ({ key, value: groupedObj[key] }));
  }
}

然后可以在模板上编写:

<div *ngFor="let item of employees | groupBy: 'department'">
  Department {{ item.key }} has {{ item.value.length }} employees
</div>

另请参见相应的插件(https://plnkr.co/edit/49fWY1rMbSZtNQ3H)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在JS中对数据进行分组?

来自分类Dev

如何在ionic 5中对数据进行分组?

来自分类Dev

如何在PostgreSQL中对数据进行分组

来自分类Dev

如何在MySQL中每周对数据进行分组?

来自分类Dev

如何在 WPF DataGrid 中对数据进行分组

来自分类Dev

如何在 angular2+ 中按字母顺序对数组进行排序、分组和划分

来自分类Dev

如何按季度对数据框中的行进行分组?

来自分类Dev

如何按r中的时差对数据进行分组?

来自分类Dev

如何根据JS / Jquery中的状态对数据进行分组

来自分类Dev

如何按Spark中的字段对数据进行分组?

来自分类Dev

Linq,如何按ID对数据进行分组以及如何在ID中合并数据

来自分类Dev

如何在重复一些数据的php数组中对数据进行排序和分组?

来自分类Dev

如何使用mongodb对数据进行分组?

来自分类Dev

如何对数据框进行分组

来自分类Dev

如何在C ++中遍历目录时对数据进行分组

来自分类Dev

如何在雄辩的关系中对数据透视表列进行分组和求和?

来自分类Dev

如何在ms-sql中根据日期和小时对数据进行分组?

来自分类Dev

如何在Python中按6个月对数据进行分组

来自分类Dev

如何在不使用GROUP BY或PARTITION BY的情况下在Oracle SQL中对数据进行分组

来自分类Dev

如何在R中以给定条件(累积总和)对数据进行分组?

来自分类Dev

如何在熊猫中按正数或负数对数据进行分组

来自分类Dev

如何在 Excel 中对数据进行分组后添加具有 ID 数字范围的列

来自分类Dev

如何在.NET图表的YAxis上对数据进行分组?

来自分类Dev

Python:如何在X出现之间对数据进行分组

来自分类Dev

Python:如何在X出现之间对数据进行分组

来自分类Dev

如何对数组中的项目进行分组?

来自分类Dev

如果数据流具有相同的流,如何在数据帧中对数据进行分组?

来自分类Dev

如何在Powershell中对数组进行分组?

来自分类Dev

如何在React Native中对数组进行分组

Related 相关文章

  1. 1

    如何在JS中对数据进行分组?

  2. 2

    如何在ionic 5中对数据进行分组?

  3. 3

    如何在PostgreSQL中对数据进行分组

  4. 4

    如何在MySQL中每周对数据进行分组?

  5. 5

    如何在 WPF DataGrid 中对数据进行分组

  6. 6

    如何在 angular2+ 中按字母顺序对数组进行排序、分组和划分

  7. 7

    如何按季度对数据框中的行进行分组?

  8. 8

    如何按r中的时差对数据进行分组?

  9. 9

    如何根据JS / Jquery中的状态对数据进行分组

  10. 10

    如何按Spark中的字段对数据进行分组?

  11. 11

    Linq,如何按ID对数据进行分组以及如何在ID中合并数据

  12. 12

    如何在重复一些数据的php数组中对数据进行排序和分组?

  13. 13

    如何使用mongodb对数据进行分组?

  14. 14

    如何对数据框进行分组

  15. 15

    如何在C ++中遍历目录时对数据进行分组

  16. 16

    如何在雄辩的关系中对数据透视表列进行分组和求和?

  17. 17

    如何在ms-sql中根据日期和小时对数据进行分组?

  18. 18

    如何在Python中按6个月对数据进行分组

  19. 19

    如何在不使用GROUP BY或PARTITION BY的情况下在Oracle SQL中对数据进行分组

  20. 20

    如何在R中以给定条件(累积总和)对数据进行分组?

  21. 21

    如何在熊猫中按正数或负数对数据进行分组

  22. 22

    如何在 Excel 中对数据进行分组后添加具有 ID 数字范围的列

  23. 23

    如何在.NET图表的YAxis上对数据进行分组?

  24. 24

    Python:如何在X出现之间对数据进行分组

  25. 25

    Python:如何在X出现之间对数据进行分组

  26. 26

    如何对数组中的项目进行分组?

  27. 27

    如果数据流具有相同的流,如何在数据帧中对数据进行分组?

  28. 28

    如何在Powershell中对数组进行分组?

  29. 29

    如何在React Native中对数组进行分组

热门标签

归档