groupby ngFor angular2

网易

美好的一天,我一直在尝试按组标题显示数组,我从网络服务获取我的数组,我想按组标题显示项目

例子

组 1 项目 1 项目 2 项目 3

组 2 项目 1 项目 2 项目 3

在此处输入图片说明

这是我的阵列

                [
                {
                    "id": "1",
                    "title": "Item 1",
                    "groups": [
                        {
                            "id": "2",
                            "title": "Communication"
                        }
                    ]
                },
                {
                    "id": "2",
                    "title": "Item 2",
                    "groups": [
                        {
                            "id": "2",
                            "title": "Communication"
                        }
                    ]
                },
                {
                    "id": "3",
                    "title": "Item 1",
                    "groups": [
                        {
                            "id": "1",
                            "title": "Creativie Art"
                        }
                    ]
                },
                {
                    "id": "4",
                    "title": "Item 3",
                    "groups": [
                        {
                            "id": "2",
                            "title": "Communication"
                        }
                    ]
                },
                {
                    "id": "5",
                    "title": "Item 2",
                    "groups": [
                        {
                            "id": "1",
                            "title": "Creativie Art"
                        }
                    ]
                },
                {
                    "id": "6",
                    "title": "Item 3",
                    "groups": [
                        {
                            "id": "1",
                            "title": "Creativie Art"
                        }
                    ]
                }
            ]

我无法粘贴所有数组数据,因为它太长了,但这是数组结构

yurzui

这是我们如何做到的一种选择:

app.component.ts

const groupsDict = this.arr.reduce((acc, cur) => {
  cur.groups.forEach(({ id, title}) => {
    acc[id] = acc[id] || { id, title };
    acc[id].items = acc[id].items || [];
    acc[id].items.push({ id: cur.id, title: cur.title });
  });
  return acc;
}, {});
this.groups = Object.keys(groupsDict).map(x => groupsDict[x]);

应用程序组件.html

<div class="grid">
  <div *ngFor="let group of groups" class="col">
    <h2>{{ group.title }}</h2>
    <div *ngFor="let item of group.items">
      {{ item.title }}
    </div>
  </div>
</div>

Stackblitz 示例

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Angular2 :: NgFor ::承诺

来自分类Dev

Angular2 ngModel针对ngFor变量

来自分类Dev

Angular2 ngFor父元素

来自分类Dev

Angular2:ngFor和条件类

来自分类Dev

Angular2:ngfor如何扩展

来自分类Dev

Angular2 ngFor产生额外的循环

来自分类Dev

在Angular2中过滤NgFor

来自分类Dev

Angular2:* ngFor,AsyncPipe和index

来自分类Dev

在Angular2的ngfor内设置属性

来自分类Dev

ngFor内的Angular2 ngModel

来自分类Dev

组件内的Angular2 NgFor

来自分类Dev

Angular2 ngFor产生额外的循环

来自分类Dev

在Angular2的ngfor内设置属性

来自分类Dev

ngfor中的angular2形式

来自分类Dev

ngfor对象angular2(最终发布)

来自分类Dev

Angular2中的分组元素* ngFor

来自分类Dev

在 Angular2 中对 *ngFor 的承诺

来自分类Dev

Angular2 *ngIf 内 *ngFor

来自分类Dev

angular2 ngfor 子组件元素

来自分类Dev

Angular2 *ngFor 隐藏父项

来自分类Dev

使用Angular2的Nativescript是否需要特殊的* ngFor?

来自分类Dev

使用ngFor处理自定义指令-Angular2

来自分类Dev

Angular2 ngFor-如果没有值则跳过

来自分类Dev

Angular2。使用ngFor对象内部的数组循环

来自分类Dev

angular2的* ngFor中的*是什么意思?

来自分类Dev

Angular2中带有ngFor的ngControl

来自分类Dev

Angular2获取对在ngFor中创建的元素的引用

来自分类Dev

Angular2 ngFor跳过第一索引

来自分类Dev

如何在Angular2中对NgFor的结果运行函数?