Maison > interface Web > js tutoriel > Comment trouver les différences entre deux tableaux d'objets en JavaScript ?

Comment trouver les différences entre deux tableaux d'objets en JavaScript ?

Patricia Arquette
Libérer: 2024-12-09 12:04:15
original
276 Les gens l'ont consulté

How to Find the Differences Between Two Arrays of Objects in JavaScript?

Trouver des différences entre des tableaux d'objets en JavaScript

Étant donné deux tableaux d'objets avec des structures similaires, il peut être nécessaire de déterminer les objets qui sont uniques à chaque tableau. Ce scénario se produit lors de la comparaison d’ensembles de résultats ou de l’exécution d’un rapprochement de données. En JavaScript, trouver la différence entre des tableaux d'objets peut être obtenu grâce à une combinaison de filtrage et de comparaison.

Pour identifier les objets uniques dans chaque tableau, nous pouvons d'abord définir une fonction de comparaison qui évalue si deux objets sont équivalents. en fonction de leurs propriétés. Par exemple :

const isSameUser = (a, b) => a.value === b.value && a.display === b.display;
Copier après la connexion

Ensuite, nous pouvons utiliser la méthode de filtrage pour parcourir un tableau et sélectionner les objets qui ne sont pas présents dans l'autre tableau, selon la fonction de comparaison.

const onlyInLeft = (left, right, compareFunction) =>
  left.filter(leftValue => !right.some(rightValue => compareFunction(leftValue, rightValue)));
Copier après la connexion

En appliquant cette technique aux deux tableaux, on peut obtenir deux tableaux contenant les objets uniques pour chacun :

const onlyInA = onlyInLeft(a, b, isSameUser);
const onlyInB = onlyInLeft(b, a, isSameUser);
Copier après la connexion

Enfin, on peut combiner les objets uniques des deux tableaux en un seul résultat :

const result = [...onlyInA, ...onlyInB];
Copier après la connexion

Le tableau de résultats résultant contiendra les objets uniques aux deux tableaux, fournissant une représentation complète des différences entre eux.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal