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?
Réponses
Trop de publicités?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.
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à: