Maison > interface Web > js tutoriel > Comment comparer efficacement des objets dans des tableaux en JavaScript

Comment comparer efficacement des objets dans des tableaux en JavaScript

Patricia Arquette
Libérer: 2024-10-20 18:05:30
original
493 Les gens l'ont consulté

How to Efficiently Compare Objects within Arrays in JavaScript

Comparaison d'objets dans des tableaux en JavaScript

En JavaScript, il est essentiel de comparer efficacement des tableaux contenant des objets, en particulier lorsque ces objets contiennent plusieurs propriétés et peuvent avoir des valeurs manquantes. Une approche naïve pourrait impliquer une itération sur chaque tableau, en comparant les propriétés individuelles. Cependant, pour les cas où les tableaux sont limités à une taille spécifique (par exemple, jusqu'à 8 éléments) et à un nombre de propriétés, une solution plus élégante existe.

Une approche consiste à exploiter les techniques de sérialisation d'objets. Cependant, il convient de noter que la sérialisation seule n'est pas suffisante car l'ordre des propriétés des objets affecte les résultats. Par conséquent, une méthode plus robuste est nécessaire.

Considérez la fonction suivante :

<code class="javascript">const objectsEqual = (o1, o2) =>
    Object.keys(o1).length === Object.keys(o2).length
        && Object.keys(o1).every(p => o1[p] === o2[p]);</code>
Copier après la connexion

Cette fonction vérifie le nombre de propriétés dans les deux objets (Object.keys(o1).length) et compare chaque clé de propriété (p) pour s'assurer que leurs valeurs correspondantes (o1[p]) sont égales.

Par exemple, étant donné les objets suivants :

<code class="javascript">const obj1 = { name: 'John', age: 33};
const obj2 = { age: 33, name: 'John' };
const obj3 = { name: 'John', age: 45 };</code>
Copier après la connexion

La fonction appelle objetsEqual( obj1, obj2) renverrait vrai car les deux objets ont les mêmes propriétés avec des valeurs équivalentes, tandis que objetsEqual(obj1, obj3) renverrait faux en raison des valeurs d'âge différentes.

Cette approche offre un moyen concis et efficace de comparez les objets dans les tableaux, en tenant compte des valeurs de propriété manquantes et de l'ordre des propriétés.

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
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