给定一个带有数组的JSON对象,我能够遍历并显示每个对象的每个标记,但每个对象都有重复的标记。如何循环检查标签是否已经存在,然后将其推入阵列?我尝试创建一个空数组,循环并将每个项目推送到一个新数组,但这似乎并没有正常工作。最后,我应该有一个标签数组,我可以在列表中显示,没有重复的标签。
的jQuery
[
{
"tags": ["melodrama", "romance", "time travel"]
},
{
"tags": [
"melodrama",
"historical",
"romance",
"war",
"fantasy",
"period drama",
"based on a novel"
]
},
{
"tags": [
"mystery",
"thriller",
"action",
"crime",
"comedy",
"feature film"
]
},
{
"tags": ["romantic comedy", "romance", "fantasy"],
},
{
"tags": ["romantic comedy", "romance", "comedy"],
},
{
"tags": ["romance", "comedy", "drama", "romantic comedy"]
},
{
"tags": ["romance", "medical"]
},
{
"tags": [
"romantic comedy",
"comedy",
"family relationships",
"Staff Favorites"
]
},
{
"tags": ["romantic comedy", "romance", "fantasy", "based on a manga"]
},
{
"tags": ["romance"]
}
]
JSON对象
{{1}}
当前结果的部分示例:
我需要让每个标签只显示一次,例如(情节剧,浪漫等)。
答案 0 :(得分:0)
您可以连接所有标记数组,然后将其转换为集合并再次返回以获取所有唯一标记:
let tags = [];
for (const i of data) {
tags = tags.concat(i.tags);
}
tags = [...new Set(tags)];
// tags is now an array of all unique tags