Comment détecter si deux tableaux contiennent les mêmes éléments dans es6

青灯夜游
Libérer: 2022-10-21 14:42:12
original
3657 Les gens l'ont consulté

Étapes de détection : 1. Convertissez les deux tableaux en type d'ensemble, syntaxe "new Set(arr)" ; 2. Obtenez l'intersection de deux ensembles, syntaxe "new Set([...set1].filter(x=> ; set2.has(x)))", les éléments d'intersection seront inclus dans une collection d'ensembles et renvoyés ; 3. Convertissez la collection d'ensembles contenant les éléments d'intersection en un type de tableau, la syntaxe est "Array.from(rse)" ; 4. Jugement Si le tableau d'intersection est un tableau vide, si c'est le cas, il n'y a pas d'éléments identiques, sinon il y a des éléments identiques.

Comment détecter si deux tableaux contiennent les mêmes éléments dans es6

L'environnement d'exploitation de ce tutoriel : système Windows 7, ECMAScript version 6, ordinateur Dell G3.

Détecter si deux tableaux contiennent les mêmes éléments consiste à détecter si les deux tableaux se croisent.

Idée de détection :

  • Obtenez l'intersection de deux tableaux

  • pour déterminer si l'intersection est vide. Si elle est vide, il n'y a pas d'éléments identiques. Si elle n'est pas vide, il y en a. articles identiques.

Étapes de mise en œuvre :

1. Obtenez l'intersection de deux tableaux

Dans es6, vous pouvez utiliser la méthode has() de l'objet set en conjonction avec le filter() du tableau. pour trouver l'intersection des 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.

Remarque : Si vous souhaitez utiliser la méthode has(), vous devez d'abord convertir le tableau en un type de collection défini

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 détecter si deux tableaux contiennent les mêmes éléments dans es6

On peut voir qu'à ce stade, les éléments d'intersection sont inclus dans une collection d'ensembles et renvoyée

2. Convertir une collection d'ensembles contenant des éléments d'intersection en un type de tableau

Dans es6, vous pouvez utiliser la méthode Array.from pour convertir un ensemble en un type de tableau

  • Le tableau. from est utilisée pour convertir deux types d'objets en tableaux réels : les objets de type tableau et les 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 détecter si deux tableaux contiennent les mêmes éléments dans es6

3. Déterminez si le tableau d'intersection est un tableau vide

  • S'il s'agit d'un tableau vide, il n'y a pas d'éléments identiques

  • Si ce n'est pas un tableau vide, il n'y a pas d'éléments identiques. sont des éléments identiques

if(intersectionSet==[]){
	console.log("没有相同项");
}else{
	console.log("有相同项");
}
Copier après la connexion

Exemple de code complet :

let a=[1, 2, 3];
let b=[3, 5, 2];
console.log(a);
console.log(b);
newA = new Set(a);
newB = new Set(b); 
let intersectionSet = Array.from(new Set([...newA].filter(x => newB.has(x))));
console.log("两个数组的交集:");
console.log(intersectionSet);
if(intersectionSet==[]){
	console.log("没有相同项");
}else{
	console.log("有相同项");
}
Copier après la connexion

Comment détecter si deux tableaux contiennent les mêmes éléments dans es6

【Recommandations associées : Tutoriel vidéo javascript, Vidéo de programmation

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:
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