Maison > interface Web > js tutoriel > le corps du texte

Comment comparer élégamment des tableaux d'objets en JavaScript

DDD
Libérer: 2024-10-20 18:07:31
original
816 Les gens l'ont consulté

How to Elegantly Compare Arrays of Objects in JavaScript

Comparaison de tableaux d'objets en JavaScript : une approche plus élégante

Bien que les méthodes de force brute puissent être efficaces pour comparer des tableaux d'objets, il arrive souvent sont des solutions plus élégantes. En JavaScript, comparer des tableaux d'objets nécessite un examen attentif en raison de la nature dynamique des propriétés des objets.

Cependant, il existe une technique concise pour résoudre ce problème :

<code class="js">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, objectsEqual , compare deux objets en vérifiant d'abord le nombre de propriétés dont ils disposent. S'ils diffèrent, les objets ne peuvent pas être considérés comme égaux.

Ensuite, il examine chaque propriété du premier objet (p) et vérifie que sa valeur correspond à la valeur de propriété correspondante dans le deuxième objet. Si les valeurs des propriétés diffèrent, les objets ne sont pas égaux.

Par exemple :

<code class="js">const obj1 = { name: 'John', age: 33};
const obj2 = { age: 33, name: 'John' };
const obj3 = { name: 'John', age: 45 };
        
console.log(objectsEqual(obj1, obj2)); // true
console.log(objectsEqual(obj1, obj3)); // false</code>
Copier après la connexion

Cette solution compare efficacement des tableaux d'objets, en tenant compte du nombre variable de propriétés et en garantissant une valeur précise correspondant.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!