Maison > interface Web > Questions et réponses frontales > Comment déterminer si deux tableaux sont égaux dans es6

Comment déterminer si deux tableaux sont égaux dans es6

青灯夜游
Libérer: 2022-10-18 19:54:55
original
2943 Les gens l'ont consulté

Étapes : 1. Utilisez l'attribut length pour obtenir la longueur des deux tableaux et déterminez si les deux longueurs sont égales. La syntaxe est "array1.length==array2.length" ; utilisez "new Set(array)" pour convertir les deux tableaux en type d'ensemble et utilisez "Array.from(new Set([...Set 1].filter(x=>Set 2.has(x))))" pour obtenir l'ensemble de différences ; 3 , déterminer si le tableau d'ensembles de différences est un tableau vide. Si tel est le cas, les deux tableaux sont identiques, sinon ils ne sont pas égaux.

Comment déterminer si deux tableaux sont égaux dans es6

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

Pour déterminer si deux tableaux sont égaux, vous pouvez changer l'idée pour déterminer si les longueurs des deux tableaux sont égales et si l'ensemble de différences (contenant différents éléments) est vide.

Idée de mise en œuvre :

  • Vérifiez si les longueurs des deux tableaux sont égales

  • Si les longueurs sont égales, déterminez si l'ensemble de différence des deux tableaux est vide

    • Si la différence l'ensemble est vide, alors les deux tableaux Égalité (car il n'y a pas d'éléments différents)

    • Si l'ensemble de différence n'est pas vide, les deux tableaux ne sont pas égaux (car il y a des éléments différents)

Explication : Si le tableau a des valeurs en double, son tableau Les longueurs sont différentes, mais il n'y a pas d'éléments différents (l'ensemble de différences est vide)

var a=[1, 2, 3];
var b=[1,2,3,1,3];
Copier après la connexion

Comment déterminer si deux tableaux sont égaux dans es6

Mais ces deux tableaux ne peuvent pas être égaux, il est donc nécessaire de d'abord déterminer si le les longueurs des tableaux sont égales.

Étapes de mise en œuvre :

Étape 1. Utilisez l'attribut de longueur pour obtenir les longueurs des deux tableaux respectivement et déterminez si les deux longueurs sont égales

Chaque tableau a un attribut de longueur, qui peut être Utilisé pour renvoyer le tableau La longueur maximale de , C'est - à - dire que sa valeur est égale à la valeur maximale de l'indice plus 1.

var a=[1, 2, 3];
var b=[1, 2, 3];
console.log(a);
console.log(b);

if(a.length==b.length){
	console.log("两数组的长度相等");
}else{
	console.log("两数组的长度不相等");
}
Copier après la connexion

Comment déterminer si deux tableaux sont égaux dans es6

Étape 2 : Si les deux longueurs sont égales, utilisez les méthodes has(), filter() et from() pour obtenir l'ensemble de différences des deux tableaux

has() est une méthode de l'objet set, donc pour utiliser la méthode has(), vous devez d'abord convertir le tableau en un type de collection set.

newA = new Set(a);
newB = new Set(b);
Copier après la connexion

La méthode has() de l'objet set peut être utilisée avec le filter() du tableau pour trouver l'intersection de deux tableaux, mais les éléments d'intersection seront inclus dans un ensemble et renvoyés, ce qui rendra difficile l'exécution d'une comparaison nulle ; par conséquent, vous devez utiliser Array. La méthode from convertit la collection en type tableau.

let differenceABSet = Array.from(new Set([...newA].filter(x => !newB.has(x))));
Copier après la connexion

Comment déterminer si deux tableaux sont égaux dans es6

Description : La méthode

  • Array.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 supplémentaires ES6 Set et Map).

Étape 3 : Déterminez si le tableau d'ensembles de différences est un tableau vide

  • Si le tableau d'ensembles de différences est un tableau vide, les deux tableaux sont identiques

  • Si le tableau d'ensembles de différences ne l'est pas un tableau vide, les deux tableaux ne sont pas identiques

if(differenceABSet.length==0){
	console.log("两数组相等");
}else{
	console.log("两数组不相等");
}
Copier après la connexion

Comment déterminer si deux tableaux sont égaux dans es6

Code d'implémentation complet (encapsulé sous forme de fonction)

function f(a, b) {
	newA = new Set(a);
	newB = new Set(b);
	if (a.length == b.length) {
		let differenceABSet = Array.from(new Set([...newA].filter(x => !newB.has(x))));
		console.log("两数组差集:");
		console.log(differenceABSet);
		if (differenceABSet.length == 0) {
			console.log("两数组相等");
		} else {
			console.log("两数组不相等");
		}

	} else {
		console.log("两数组不相等");
	}
}
Copier après la connexion

Exemple 1 : Vérifiez si les deux fonctions suivantes sont égales

var a = [1, 2, 3];
var b = [1, 2, 3,3];
console.log(a);
console.log(b);
f(a, b);
Copier après la connexion

Comment déterminer si deux tableaux sont égaux dans es6

Exemple 2 : Vérifiez si les deux fonctions suivantes sont égales

var a = [1, 2, 3];
var b = [1, 2, 4];
console.log(a);
console.log(b);
f(a, b);
Copier après la connexion

Comment déterminer si deux tableaux sont égaux dans es6

Explication : Les éléments de l'ensemble de différences sont extraits du tableau comparé (le premier tableaua).

【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