set 2.has( x )))" peut obtenir l'intersection de deux ensembles, et un nouvel ensemble contenant tous les éléments d'intersection sera renvoyé."/> set 2.has( x )))" peut obtenir l'intersection de deux ensembles, et un nouvel ensemble contenant tous les éléments d'intersection sera renvoyé.">
Maison > Article > interface Web > Comment trouver l'intersection de deux tableaux dans es6
Méthode d'implémentation : 1. Utilisez l'instruction "new Set (array)" pour convertir les deux tableaux en types de collections d'ensembles ; 2. Utilisez "new Set([...set 1].filter(x => set 2 . has(x)))" peut obtenir l'intersection de deux ensembles, et un nouvel ensemble contenant tous les éléments d'intersection sera renvoyé.
L'environnement d'exploitation de ce tutoriel : système Windows 7, ECMAScript version 6, ordinateur Dell G3.
Dans es6, vous pouvez utiliser la méthode has() de l'objet set en conjonction avec le filter() du tableau pour trouver l'intersection de deux tableaux.
Set est une nouvelle structure de données fournie par ES6, qui est similaire à un tableau, mais n'a pas de valeurs en double. Grâce à cette fonctionnalité, nous pouvons convertir le tableau en un type Set pour la déduplication, puis utiliser la méthode Array.from pour le convertir à nouveau en tableau.
La méthode Set has() indique si l'objet Set contient la valeur spécifiée. Renvoie vrai si la valeur spécifiée existe, faux sinon.
let a=[1, 2, 3]; let b=[3, 5, 2]; newA = new Set(a); newB = new Set(b); let intersectionSet = new Set([...newA].filter(x => newB.has(x))); console.log(intersectionSet);
On peut voir qu'à ce stade, les éléments d'intersection sont inclus dans une collection d'ensembles et renvoyés. La méthode Array.from peut être utilisée pour convertir l'ensemble en type de tableau
. La méthode Array.from est utilisée pour combiner les deux catégories. Les objets sont convertis en tableaux réels : objets de type tableau et objets itérables (y compris les nouvelles structures de données Set et Map d'ES6).
let intersectionSet = Array.from(new Set([...newA].filter(x => newB.has(x)))); console.log(intersectionSet);
Connaissances approfondies : recherche d'un ensemble d'unions/différences
let a = new Set([1, 2, 3]); let b = new Set([3, 5, 2]); // 并集 let unionSet = new Set([...a, ...b]); //[1,2,3,5] // ab差集 let differenceABSet = new Set([...a].filter(x => !b.has(x)));
[Recommandations associées : tutoriel vidéo javascript, front-end web]
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!