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

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

Patricia Arquette
Patricia Arquetteoriginal
2024-12-18 18:21:13650parcourir

How to Find the Difference Between Two Arrays in JavaScript?

Trouver la différence entre les tableaux en JavaScript

Comparer et manipuler des tableaux est une tâche courante en programmation. En JavaScript, une opération utile est la possibilité de déterminer la différence entre deux tableaux.

Utilisation d'Array.prototype.includes()

Array.prototype.includes() est un outil puissant introduit dans ES2016 (ES7) qui vous permet de vérifier si une valeur existe dans un tableau. En utilisant cette méthode, vous pouvez filtrer les éléments d'un tableau qui sont présents dans un autre.

Détermination de l'intersection

L'intersection de deux tableaux est constituée d'éléments communs aux deux. Pour obtenir l'intersection, utilisez le code suivant :

let intersection = arr1.filter(x => arr2.includes(x));

Calcul de la différence

La différence entre deux tableaux (valeurs présentes dans un tableau mais pas dans l'autre) peut être calculé à l'aide du code suivant :

let difference = arr1.filter(x => !arr2.includes(x));

Détermination de la symétrie Différence

La différence symétrique inclut des éléments qui sont uniques à l'un ou l'autre tableau, mais pas aux deux. Il peut être calculé à l'aide du code suivant :

let symDifference = arr1.filter(x => !arr2.includes(x))
                        .concat(arr2.filter(x => !arr1.includes(x)));

Méthode de prototype de tableau personnalisé

Comme alternative, vous pouvez étendre le prototype de tableau pour ajouter un diff() méthode qui effectue l'opération de différence :

Array.prototype.diff = function(arr2) {
  return this.filter(x => !arr2.includes(x));
}

Utilisation :

[1, 2, 3].diff([2, 3]) // [1]

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