当前位置: 首页 > 知识库问答 >
问题:

如何遍历条件项以生成表列

哈雅珺
2023-03-14

我有一个项目数组,每个项目都有一个天数。每天都会有多个项目,但我想动态构建一个包含每天列的表。这是我到目前为止的代码。

<table>
    <thead>
      <th *ngFor="let item of itemList|async">
        Day {{item.assignedPeriod.dayNumber}}
      </th>
    </thead>
  </table>

显然,这会为每个项目生成一个新列,而不管当天是否已经看到了前一个项目。我希望它跳过制作一个新的列,如果该列已经存在的一天,并创建一个如果它不存在。

我该怎么办?

共有1个答案

单展
2023-03-14

您需要在数据上循环并创建一个对象数组。但我可以想象使用异步管道。嗯,你可以使用可观察的映射来转换数据,但我有点懒

Supouse您有如下数据

data=[{day:1,name:"one",value:100},
  {day:1,name:"two",value:200},
  {day:2,name:"three",value:300},
  {day:1,name:"four",value:400},
  {day:3,name:"five",value:500},
  {day:2,name:"six",value:600}
  ]

你可以做一些

  array:any[]=[{}]
    this.data.forEach(x=>{
      let row=0;
      while (this.array[row]["day"+x.day])
      {
          row++
          if (!this.array[row])
             this.array[row]={}
      }

      this.array[row]["day"+x.day]=x
    })

创建表格就像

<table>
  <th *ngFor="let keyPair of array[0]|keyvalue">{{keyPair.key}}</th>
  <tr *ngFor="let item of array;let i=index">
    <td *ngFor="let keyPair of array[0]|keyvalue">
      {{item[keyPair.key]?.value}}
    </td>
    </tr>
</table>

参见stackblitz

 类似资料:
  • 问题内容: 我想遍历JSON文件的内容并将其打印到控制台。 我想我确实把清单混在一起了。 这就是我试图获取所有元素的方法 这是我的JSON(简体:) (可在此处找到完整的JSON输出:Link) 当然,我得到一个错误,我应该在[]中使用整数输入,而不是字符串,但是我不知道该怎么做。 这是: 我怎么了? 问题答案: 实际上,要查询,只需将其添加到最后一行的括号中即可。除此之外,它似乎可以在命令行上的

  • 有一个可选的可选列表,比如: 如何遍历打印字符串的和? 有一个可选的可选流怎么样? 更新:感谢您的答案,optionalStream(非嵌套)的解决方案:

  • 问题内容: 我有一个Map如下所示的bean: 这ftqSet适合以下数据结构: 在我的测试JSP文件中,我一直在尝试使用来访问数据 : 但是它没有输出${f.feedId}。为什么会这样呢?我将如何访问该结构的各个元素,以便创建一个漂亮的表? 问题答案: 的每次迭代中给出了一个实例,它反过来又和getValue()方法。这与在普通Java中进行操作类似。 例如 在的情况下, 的回报, ,所以你需

  • 问题内容: 我们有一个软件不会删除不再需要的条目。为了了解服务器中有多少数据正在浪费,并准备进行大型清理操作,我试图遍历所有表并拉出标记为删除的记录。这就是我正在使用的: 这是我的错误: 消息116,级别16,状态1,行19当未将EXISTS引入子查询时,只能在选择列表中指定一个表达式。 我意识到我的错误可能与选择该行中的两列有关 但是,我不确定如何才能确保选择下一行。 PS仅用于脚本测试。 如何

  • 问题内容: 当我执行以下代码时,我得到ConcurrentModificationException 即使我正在使用Collections.synchronizedList,为什么也会出现异常? 当我将myCollection更改为 我没有那个例外。 java.util.concurrent中的ConcurrentLinkedQueue与Collections.synchronizedList有何

  • 我试图在Java中使用Selenium遍历一个表(目前使用的是chromedriver)。该表的内容由不同的人组成,他们的个人资料有链接,对于该表中的每个人,我将进入他们的个人资料并提取一些信息。我将为X数量的人做这件事。该表每页包含5人,我通过单击分页按钮浏览页面” 现在来看这个问题:举个例子,我现在在exampleUrl。com/page\u包含表I,然后输入用户的配置文件并提取他们的信息,他