html - 从数组中搜索 Json 键以匹配对象并推送到表
问题描述
我正在尝试搜索 JSON 以检索与数组匹配的对象,然后将所有这些数据推送到表中。我的数组如下所示:
player_IDs: number[] = [ 1000, 1002, 1004 ]
我正在搜索的 JSON 如下所示:
{
"allplayers": [
{
"Player_ID": "1004D",
"End_Time": "2019-04-29 13:31:06"
},
{
"Player_ID": "1000A",
"End_Time": "2019-04-29 07:39:55"
}
{
"Player_ID": "1002G",
"End_Time": "2019-04-30 09:02:21"
}
{
"Player_ID": "1006B",
"End_Time": "2019-04-30 10:21:01"
}
]
}
在 JSON 中,我不想显示其他玩家的其他数据,因为他们的 ID 不在数组中。
我目前在 HTML 中显示来自数组的 Player_ID,如下所示:
<table id="tableContents">
<tr>
<th>PLayer ID</th>
<th>End Time</th>
</tr>
<tr *ngFor="let id of player_IDs">
<td>00{{ id }}</td>
<td></td>
</tr>
</table>
但在它旁边的列中,我希望能够显示匹配的结束时间。我可以获取End_Time
并将其记录到控制台,但我不确定如何将其推送到表中,以便结束时间与表中的当前 Player_ID 匹配。有办法处理*ngFor
吗?
这就是我获取End_Time
并将其记录到控制台的方式:
this.player_IDs.forEach(function(value) {
var id = value.toString()
var index = playerdata.allplayers.filter(e => e.Player_ID.includes(id))
if (index.length!=0) {
console.log(index[0].End_Time)
}
})
那么,如何将它们推End_Time
送到表中,以便它们与相应的 Player_ID 一起显示?
旁注:Player_ID 的显示顺序无关紧要。
解决方案
如果我正确理解了您的问题,那么您正在尝试End_Time
在桌子上显示相应的内容,对吗?在每个 td 列上,您可以将其绑定到相应的属性,Player_ID
并且End_Time
. 这是它的样子:
<table id="tableContents">
<tr>
<th>Player ID</th>
<th>End Time</th>
</tr>
<tr *ngFor="let player of data.allplayers">
<td>{{ player.Player_ID }}</td>
<td>{{ player.End_Time }}</td>
</tr>
</table>
我在这里做了一个快速演示。
推荐阅读
- java - 编辑 Liquibase ChangeLog 以在运行时包含新的变更集文件
- visual-studio-code - 为什么我的一些扩展在 VS Code 1.57 中不起作用?
- python - 在我的命令上发送消息的不和谐机器人
- python - 如何用元组迭代列表并将其用作python字典中的键、值
- api - 将 G Suite 用户检索为不属于任何组的成员
- python - 我正在为另一个专栏做,但没有得到任何年的消费税
- go - Bazel docker_image 复制额外的文件夹
- node.js - 如何使用节点 js 更改 csv 文件的标题?
- c# - Asp.net Core MVC 属性路由约束的意外行为
- reactjs - 如何将 cookie 设置为过期/删除(axios react express)?