【发布时间】:2019-09-25 21:02:31
【问题描述】:
我正在尝试搜索 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 的显示顺序无关紧要。
【问题讨论】:
-
JSON 是一种用于数据交换的文本符号。 (More here.) 一旦你解析了它并在你的代码中使用它,它就不再是 JSON 了。也就是说,如果您正在处理 JavaScript 源代码,而不是处理 string,那么您就不是在处理 JSON。
标签: html arrays angular typescript