Set 2.has(x))))" pour obtenir la différence définie ;3. Déterminer la différence Si le tableau défini est un tableau vide, si c'est le cas, les deux tableaux sont identiques, sinon ils ne sont pas égaux."/> Set 2.has(x))))" pour obtenir la différence définie ;3. Déterminer la différence Si le tableau défini est un tableau vide, si c'est le cas, les deux tableaux sont identiques, sinon ils ne sont pas égaux.">
Maison > Article > interface Web > Comment déterminer si deux tableaux sont égaux dans es6
É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.
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];
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("两数组的长度不相等"); }
É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);
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))));
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("两数组不相等"); }
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("两数组不相等"); } }
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);
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);
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!