Maison >interface Web >js tutoriel >Comment trouver la différence entre deux tableaux d'objets JavaScript ?

Comment trouver la différence entre deux tableaux d'objets JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-18 01:12:09456parcourir

How to Find the Difference Between Two JavaScript Arrays of Objects?

Détermination de la différence entre des tableaux d'objets en JavaScript

Le concept de comparaison de deux tableaux d'objets surgit souvent lors de la comparaison d'ensembles de données. Cet article explore une méthode pour extraire des éléments distincts entre deux tableaux, garantissant la préservation des propriétés d'objet spécifiques.

Considérez les tableaux d'entrée suivants :

Result 1:
[
    { value: "0", display: "Jamsheer" },
    { value: "1", display: "Muhammed" },
    { value: "2", display: "Ravi" },
    { value: "3", display: "Ajmal" },
    { value: "4", display: "Ryan" }
]

Result 2:
[
    { value: "0", display: "Jamsheer" },
    { value: "1", display: "Muhammed" },
    { value: "2", display: "Ravi" },
    { value: "3", display: "Ajmal" }
]

Le résultat souhaité est la différence entre ces tableaux , ce qui donnerait un tableau contenant uniquement l'élément unique du résultat 1 :

[
    { value: "4", display: "Ryan" }
]

JavaScript propose des méthodes natives qui peuvent accomplir cette tâche avec élégance. En définissant une fonction de comparaison qui évalue l'égalité des objets en fonction de leurs propriétés, vous pouvez exploiter la fonction onlyInLeft() pour identifier les éléments qui existent uniquement dans le tableau de gauche (d'origine). Ce même processus peut être appliqué au (nouveau) tableau de droite.

const isSameUser = (a, b) => a.value === b.value && a.display === b.display;

const onlyInA = onlyInLeft(result1, result2, isSameUser);
const onlyInB = onlyInLeft(result2, result1, isSameUser);

const result = [...onlyInA, ...onlyInB];

La variable résultat contiendra par la suite un tableau avec la distinction entre les deux tableaux d'entrée. Cette approche fournit une solution flexible pour comparer des tableaux d'objets tout en préservant des propriétés spécifiques pour la comparaison.

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!

Déclaration:
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