Maison > interface Web > js tutoriel > Comment puis-je trouver la différence entre deux tableaux en JavaScript ?

Comment puis-je trouver la différence entre deux tableaux en JavaScript ?

Barbara Streisand
Libérer: 2024-12-20 02:39:16
original
297 Les gens l'ont consulté

How Can I Find the Difference Between Two Arrays in JavaScript?

Détermination de la différence entre deux tableaux en JavaScript

Introduction :

Détermination de la différence entre deux tableaux est une tâche courante en JavaScript. La différence peut être définie comme les éléments présents dans un tableau mais pas dans l’autre. Cet article propose plusieurs approches pour y parvenir en utilisant les méthodes intégrées de JavaScript.

Intersection et différence :

Une approche consiste à utiliser Array.prototype.includes() méthode. Il peut être utilisé à la fois pour trouver l'intersection (éléments communs) et la différence entre deux tableaux.

Intersection :

let intersection = arr1.filter(x => arr2.includes(x));
Copier après la connexion

Ce filtre produit un tableau contenant le éléments communs à arr1 et arr2.

Différence :

let difference = arr1.filter(x => !arr2.includes(x));
Copier après la connexion

Ce filtre crée un tableau avec les éléments qui sont présents uniquement dans arr1, pas dans arr2.

Différence symétrique :

De plus, on peut souhaiter déterminer la "ou exclusif" (différence symétrique) entre deux tableaux, composé d'éléments uniques des deux tableaux. Ceci peut être obtenu en combinant la différence des deux tableaux :

let symDifference = arr1.filter(x => !arr2.includes(x))
                        .concat(arr2.filter(x => !arr1.includes(x)));
Copier après la connexion

Amélioration :

Pour une meilleure convivialité, il est possible de définir une méthode personnalisée pour Array. prototype qui permet une utilisation directe sur les baies :

Array.prototype.diff = function(arr2) { 
  return this.filter(x => !arr2.includes(x)); 
}
Copier après la connexion

Avec cette amélioration, on peut facilement déterminer le différence :

[1, 2, 3].diff([2, 3]) // [1]
Copier après la connexion

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