J'ai le tableau d'objets suivant. Ce que je dois faire, c'est simplement supprimer les paires clé-valence de tous les tableaux de connecteurs.supprimer les éléments en double d'un tableau d'objets - es6?
[
{
"connector":[
{
"name":"CC1"
},
{
"name":"App1"
},
{
"name":"CC1"
},
{
"name":"App2"
},
{
"name":"CC1"
},
{
"name":"App3"
}
],
"connections":[
{
"source":"CC1",
"target":"App1"
},
{
"source":"CC1",
"target":"App2"
},
{
"source":"CC1",
"target":"App3"
}
]
},
{
"connector":[
{
"name":"CC1"
},
{
"name":"App1"
},
{
"name":"CC1"
},
{
"name":"App2"
},
{
"name":"CC1"
},
{
"name":"App3"
}
],
"connections":[
{
"source":"CC1",
"target":"App1"
},
{
"source":"CC1",
"target":"App2"
},
{
"source":"CC1",
"target":"App3"
}
]
},
{
"connector":[
{
"name":"CC1"
},
{
"name":"App1"
},
{
"name":"CC1"
},
{
"name":"App2"
},
{
"name":"CC1"
},
{
"name":"App3"
}
],
"connections":[
{
"source":"CC1",
"target":"App1"
},
{
"source":"CC1",
"target":"App2"
},
{
"source":"CC1",
"target":"App3"
}
]
},
{
"connector":[
{
"name":"CC2"
},
{
"name":"App2"
}
],
"connections":[
{
"source":"CC2",
"target":"App2"
}
]
}
]
J'ai essayé d'utiliser une combinaison de filtre, carte et l'opérateur tartinable à ES6 mais pas encore trouvé la meilleure combinaison qui y parvenir. La sortie que je veux est ci-dessous:
[
{
"connector":[
{
"name":"CC1"
},
{
"name":"App1"
},
{
"name":"App2"
},
{
"name":"App3"
}
],
"connections":[
{
"source":"CC1",
"target":"App1"
},
{
"source":"CC1",
"target":"App2"
},
{
"source":"CC1",
"target":"App3"
}
]
},
{
"connector":[
{
"name":"CC1"
},
{
"name":"App1"
},
{
"name":"App2"
},
{
"name":"App3"
}
],
"connections":[
{
"source":"CC1",
"target":"App1"
},
{
"source":"CC1",
"target":"App2"
},
{
"source":"CC1",
"target":"App3"
}
]
},
{
"connector":[
{
"name":"CC1"
},
{
"name":"App1"
},
{
"name":"App2"
},
{
"name":"App3"
}
],
"connections":[
{
"source":"CC1",
"target":"App1"
},
{
"source":"CC1",
"target":"App2"
},
{
"source":"CC1",
"target":"App3"
}
]
},
{
"connector":[
{
"name":"CC2"
},
{
"name":"App2"
}
],
"connections":[
{
"source":"CC2",
"target":"App2"
}
]
}
]
Quelle serait la solution la plus optimale pour y parvenir? Merci d'avance pour l'aide ..
Juste en-cas si vous prévoyez d'utiliser lodash. C'est comme ça que vous pouvez faire ça. '_.map (données, (i) => { i.connector = _.uniqBy (i.connector, 'nom'); return i; })' –
La meilleure façon de le faire , serait d'arrêter les données redondantes avant même d'aller dans ce tableau d'objets. – PHPglue