Maison > interface Web > Questions et réponses frontales > Comment trouver l'intersection de deux tableaux dans es6

Comment trouver l'intersection de deux tableaux dans es6

青灯夜游
Libérer: 2022-04-19 19:04:49
original
4011 Les gens l'ont consulté

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é.

Comment trouver l'intersection de deux tableaux dans es6

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);
Copier après la connexion

Comment trouver lintersection de deux tableaux dans es6

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);
Copier après la connexion

Comment trouver lintersection de deux tableaux dans es6

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)));
Copier après la connexion

[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!

Étiquettes associées:
es6
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal