114 votes

Comparaison de tableaux d’objets en JavaScript

Je veux comparer 2 tableaux d’objets en code JavaScript. Les objets ont 8 propriétés totales, mais chaque objet n’aura pas de valeur pour chacun, et les tableaux ne seront jamais plus grands que 8 éléments chacun, donc peut-être que la méthode de force brute de traverser chacun et ensuite regarder les valeurs des 8 propriétés est le moyen le plus simple de faire ce que je veux faire, mais avant de mettre en œuvre, je voulais voir si quelqu’un avait une solution plus élégante. Avez-vous des idées?

23voto

kamens Points 6043

Honnêtement, avec 8 objets max et 8 propriétés max par objet, votre meilleur pari est de simplement parcourir chaque objet et de faire les comparaisons directement. Ce sera rapide et ce sera facile.

Si vous allez utiliser souvent ce type de comparaisons, alors je suis d’accord avec Jason sur la sérialisation JSON... mais sinon, il n’est pas nécessaire de ralentir votre application avec une nouvelle bibliothèque ou un nouveau code de sérialisation JSON.

19voto

jwood Points 91

Je sais que c’est une vieille question et que les réponses fournies fonctionnent bien... mais c’est un peu plus court et ne nécessite pas de bibliothèques supplémentaires (c’est-à-dire JSON) :

18voto

Yuval Points 902

J’ai travaillé un peu sur un algorithme simple pour comparer le contenu de deux objets et renvoyer une liste intelligible de différences. J’ai pensé que je partagerais. Il emprunte quelques idées pour jQuery, à savoir l’implémentation de la `` fonction et la vérification du type d’objet et de tableau.

Il renvoie une liste d'"objets diff », qui sont des tableaux avec les informations diff. C’est très simple.

Le voilà:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X