Maison >interface Web >js tutoriel >Comment puis-je trouver efficacement l'intersection de deux tableaux en JavaScript ?
Intersection de tableaux sans effort en JavaScript
L'intersection de tableaux est une opération fondamentale en programmation. Étant donné deux tableaux, l'intersection renvoie un nouveau tableau contenant uniquement les éléments communs aux deux. En JavaScript, l'implémentation de cette opération sans bibliothèque est étonnamment simple.
Solution
Le moyen le plus simple et le plus concis d'obtenir une intersection de tableaux en JavaScript consiste à utiliser la puissance de Array.prototype.filter et Array.prototype.includes. Cette approche évite le besoin de boucles complexes ou de dépendances externes.
const intersection = (array1, array2) => { return array1.filter((value) => array2.includes(value)); };
Alternativement, pour les navigateurs plus anciens qui ne prennent pas en charge les fonctions de flèche, vous pouvez utiliser le code suivant :
const intersection = (array1, array2) => { return array1.filter(function(n) { return array2.indexOf(n) !== -1; }); };
Exemple
Pour illustrer l'efficacité de cette solution, considérons ce qui suit exemple :
console.log(intersection([1, 2, 3], [2, 3, 4, 5])); // [2, 3]
La fonction d'intersection renvoie correctement un tableau contenant les éléments communs, [2, 3], comme prévu.
Remarque
Il est crucial de noter que Array.prototype.includes et Array.prototype.indexOf compare les éléments du tableau en utilisant une égalité stricte (===), ce qui signifie que si les tableaux contiennent des objets complexes, la comparaison ne correspondra qu'aux références d'objets, pas à leur contenu. Pour gérer ce cas d'utilisation, envisagez d'utiliser Array.prototype.some pour spécifier une logique de comparaison personnalisée.
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!