Trouver la différence entre deux tableaux d'objets en JavaScript
En JavaScript, vous pouvez rencontrer le besoin de déterminer la différence entre deux tableaux d'objets . Par exemple, vous pouvez avoir deux ensembles de résultats que vous souhaitez comparer et identifier les objets qui n'existent que dans l'un mais pas dans l'autre.
Pour y parvenir, vous pouvez tirer parti d'une combinaison de fonctions JS natives et d'un outil personnalisé. fonction de comparaison. Voici comment procéder :
Définir une fonction de comparaison :
const isSameUser = (a, b) => a.value === b.value && a.display === b.display;
Cette fonction déterminera si deux objets sont égaux en fonction de leur « valeur » et de leur « affichage » propriétés.
Utilisez la fonction 'onlyInLeft' :
const onlyInLeft = (left, right, compareFunction) => left.filter(leftValue => !right.some(rightValue => compareFunction(leftValue, rightValue)));
Cette fonction prend trois arguments : la gauche tableau, le tableau de droite et la fonction de comparaison. Il filtre les éléments du tableau de gauche qui n'ont pas d'éléments correspondants dans le tableau de droite en fonction de la fonction de comparaison définie.
Utilisez la fonction « onlyInLeft » pour rechercher les différences. :
const onlyInA = onlyInLeft(a, b, isSameUser); const onlyInB = onlyInLeft(b, a, isSameUser);
Ce code applique la fonction 'onlyInLeft' aux deux tableaux, en utilisant la fonction de comparaison pour déterminer les différences.
Créez le résultat final :
const result = [...onlyInA, ...onlyInB];
Enfin, le Le tableau 'result' contient les objets présents dans un tableau mais pas dans l'autre.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!