Maison  >  Article  >  interface Web  >  ## Comment trouver efficacement des éléments communs dans plusieurs tableaux JavaScript ?

## Comment trouver efficacement des éléments communs dans plusieurs tableaux JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-25 07:17:29578parcourir

## How to Efficiently Find Common Elements Across Multiple JavaScript Arrays?

Trouver des éléments communs parmi plusieurs tableaux JavaScript

En JavaScript, comparer des tableaux pour faire correspondre les éléments et récupérer uniquement les valeurs communes est une tâche fréquemment rencontrée . Considérez le défi suivant : étant donné plusieurs tableaux avec des valeurs de chaîne, recherchez et affichez les éléments qui sont identiques dans chacun d'eux.

Pour y parvenir, nous pouvons exploiter le concept de programmation fonctionnelle en JavaScript. Voici comment y parvenir efficacement sans utiliser de bibliothèques externes :

var result = arrays.shift().filter(function(v) {
    return arrays.every(function(a) {
        return a.indexOf(v) !== -1;
    });
});

Ce code tire parti de la méthode filter(), qui crée un nouveau tableau avec des éléments qui satisfont à une condition donnée. . La condition ici est que chaque élément soit présent dans chaque tableau. La méthode every() garantit cela en vérifiant si tous les tableaux incluent l'élément en cours d'évaluation.

Par exemple, étant donné les tableaux suivants :

var arr1 = ['apple', 'orange', 'banana', 'pear', 'fish', 'pancake', 'taco', 'pizza'];
var arr2 = ['taco', 'fish', 'apple', 'pizza'];
var arr3 = ['banana', 'pizza', 'fish', 'apple'];

Le résultat sera be :

['apple', 'fish', 'pizza']

Cette solution est relativement concise et gère des tableaux de différentes longueurs sans introduire de doublons. Il est important de noter que les tableaux doivent être triés par ordre croissant pour des performances optimales.

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