J'ai un gros problème. Je veux créer une fonction qui supprime des parties égales entre deux fichiers JSON, avec la sortie de la fonction ayant la même structure, mais sans les parties égales.Enlever la clé égale entre deux JSON
Un exemple que j'ai une version JSON d'un arbre DOM et je veux garder que la différence entre les pages (enlever le pied de page nav ...)
Exemple
const a = {
id: '1',
child: [
{
id: '2',
child: [
{
id: '1'
},
{
id: '2'
}
]
},
{
id: '3',
child: [
{
id: '1'
},
{
id: '5'
}
]
}
]
}
Et
const b = {
id: '1',
child: [
{
id: '2',
child: [
{
id: '1'
},
{
id: '4'
}
]
},
{
id: '3',
child: [
{
id: '1'
},
{
id: '4'
}
]
}
]
}
Avec une fonction
diff(a, b)
Ce résultat
{
id: '1',
child: [
{
id: '2',
child: [
{
id: '2'
}
]
},
{
id: '3',
child: [
{
id: '5'
}
]
}
]
}
J'ai créé cette base de la fonction récursive
const diff = (a, b) => {
if (Array.isArray(a)) {
}
if (typeof a === 'object') {
// ...
extract(a.child, b.child);
}
}
Comment puis-je faire? Y a-t-il un paquet npm? ou avec le chemin JSON? Je veux créer une fonction qui supprime les 'parties' égales entre deux fichiers JSON avec la sortie de la fonction ayant la même structure, mais sans les 'parties égales'.
Jetez un oeil à https://www.npmjs.com/package/deep-diff. – nicooga
je veux supprimer la même partie mais ces paquets me montrent la différence –
Juste FYI mais ce ne sont pas des fichiers json, ce sont des objets javascript. JSON est une notation JavaScript Object Notation utilisée pour transférer ou stocker des objets javascript en tant que chaînes. – Marie