Recherche des différences de tableaux en JavaScript : intersection, différence et différence symétrique
En JavaScript, comparer des tableaux élément par élément peut être fastidieux . Pour simplifier ce processus, explorons un outil puissant : Array.prototype.includes().
Intersection
Pour obtenir les valeurs communes aux deux tableaux, nous peut utiliser filter(). Par exemple :
let intersection = arr1.filter(x => arr2.includes(x));
Cela produit l'intersection : [2, 3].
Différence
Pour identifier les valeurs présentes uniquement dans arr1, nous pouvons filtrer les éléments qui existent dans arr2.
let difference = arr1.filter(x => !arr2.includes(x));
Il en résulte la différence : [1].
Différence symétrique
Pour obtenir les éléments trouvés exclusivement dans arr1 ou arr2, nous combinons les deux différences :
let symDifference = arr1.filter(x => !arr2.includes(x)) .concat(arr2.filter(x => !arr1.includes(x)));
Cela produit la différence symétrique : [1].
Comme le souligne @Joshaven Potter, ces méthodes peuvent être ajoutées directement au Array.prototype pour une flexibilité améliorée :
Array.prototype.diff = function(arr2) { return this.filter(x => !arr2.includes(x)); }
Ensuite, vous pouvez l'utiliser directement sur les tableaux :
[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!