/ / Como remover item duplicado de matrizes no objeto json com o jQuery - jquery, matrizes, json

Como remover item duplicado de matrizes no objeto json com jQuery - jquery, matrizes, json

Dado um objeto JSON com matrizes, eu sou capaz de fazer um loopatravés e exibir cada uma das tags de cada objeto, mas há tags duplicadas em cada uma. Como posso percorrer e verificar se uma tag já não existe e depois enviá-la para a matriz? Tentei criar uma matriz vazia, percorrendo e empurrando cada item para uma nova matriz, mas isso não parece No final, eu deveria ter uma matriz de tags que eu possa exibir em uma lista, onde não há tags duplicadas.

jQuery

$.each( this.data, function(key,value){
$.each( value.tags, function(i, j){
console.log("TAGS", j);
var array = [];
var items = array.push(j);
console.log("ITEMS ARRAY", array);
$("ul.tag-list").append("<li><span class="tag is-link">" + j + "</span></li>");
});
});

Objeto JSON

 [
{
"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"]
}
]

Exemplo parcial de resultados atuais:

insira a descrição da imagem aqui

Eu preciso que cada tag seja exibida apenas uma vez, por exemplo (melodrama, romance, etc.).

Respostas:

0 para resposta № 1

Você pode concatenar todas as matrizes de tags e convertê-las em um conjunto e vice-versa para obter todas as tags exclusivas:

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