Heim  >  Artikel  >  Web-Frontend  >  So ermitteln Sie, ob zwei Arrays in es6 gleich sind

So ermitteln Sie, ob zwei Arrays in es6 gleich sind

青灯夜游
青灯夜游Original
2022-10-18 19:54:552848Durchsuche

Schritte: 1. Verwenden Sie das Längenattribut, um die Länge der beiden Arrays zu ermitteln und festzustellen, ob die beiden Längen gleich sind. Die Syntax lautet „array1.length==array2.length“ 2. Wenn die Längen gleich sind, Verwenden Sie „new Set(array)“, konvertieren Sie beide Arrays in den Set-Typ und verwenden Sie „Array.from(new Set([...Set 1].filter(x=>Set 2.has(x))))“ um den Differenzsatz zu erhalten; 3. Bestimmen Sie, ob das Differenzsatz-Array ein leeres Array ist. Wenn ja, sind die beiden Arrays gleich, andernfalls sind sie nicht gleich.

So ermitteln Sie, ob zwei Arrays in es6 gleich sind

Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.

Um festzustellen, ob zwei Arrays gleich sind, können Sie die Idee ändern, um zu bestimmen, ob die Längen der beiden Arrays gleich sind und ob der Differenzsatz (der verschiedene Elemente enthält) leer ist.

Implementierungsidee:

  • Überprüfen Sie, ob die Längen der beiden Arrays gleich sind.

  • Wenn die Längen gleich sind, bestimmen Sie, ob der Differenzsatz der beiden Arrays leer ist Wenn die Differenzmenge nicht leer ist, sind die beiden Arrays nicht gleich (da es unterschiedliche Elemente gibt)

    • Erläuterung: Wenn das Array doppelte Werte hat, ist sein Array unterschiedlich lang, aber es gibt keine unterschiedlichen Elemente (der Differenzsatz ist leer) Längen sind gleich.
    • Implementierungsschritte:

Schritt 1. Verwenden Sie das Längenattribut, um die Längen der beiden Arrays zu erhalten und festzustellen, ob die beiden Längen gleich sind.

So ermitteln Sie, ob zwei Arrays in es6 gleich sind

Jedes Array verfügt über ein Längenattribut, das sein kann Wird verwendet, um die maximale Länge des Arrays zurückzugeben, dh sein Wert entspricht dem maximalen Indexwert plus 1.

var a=[1, 2, 3];
var b=[1,2,3,1,3];

Schritt 2: Wenn die beiden Längen gleich sind, verwenden Sie die Methoden has(), filter() und from(), um den Differenzsatz der beiden Arrays zu erhalten.

has() ist eine Methode des Set-Objekts. Um die Methode has() verwenden zu können, müssen Sie das Array zunächst in einen Set-Sammlungstyp konvertieren.

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("两数组的长度不相等");
}
Die has()-Methode des set-Objekts kann mit der filter() des Arrays verwendet werden, um die Schnittmenge zweier Arrays zu finden, aber die Schnittmenge-Elemente werden in einer Menge enthalten und zurückgegeben, was es schwierig macht, eine durchzuführen Nullvergleich; daher müssen Sie die Array-Methode verwenden, um die Sammlung in einen Array-Typ umzuwandeln.

newA = new Set(a);
newB = new Set(b);

So ermitteln Sie, ob zwei Arrays in es6 gleich sindBeschreibung: Die Methode

Array.from wird verwendet, um zwei Arten von Objekten in echte Arrays umzuwandeln: Array-ähnliche Objekte und iterierbare Objekte (einschließlich der neuen ES6-Zusatzdatenstrukturen Set und Map).

Schritt 3: Bestimmen Sie, ob das Differenzsatz-Array ein leeres Array ist.

So ermitteln Sie, ob zwei Arrays in es6 gleich sind

Wenn das Differenzsatz-Array ein leeres Array ist, sind die beiden Arrays gleich Ein leeres Array, die beiden Arrays sind nicht gleich
    Beispiel 2: Überprüfen Sie, ob die folgenden beiden Funktionen gleich sind
  • let differenceABSet = Array.from(new Set([...newA].filter(x => !newB.has(x))));

Erklärung: Die Elemente im Differenzsatz werden aus dem verglichenen Array (dem ersten Array

) entnommen. 【Verwandte Empfehlungen:

Javascript-Video-Tutorial
    ,
  • Programmiervideo

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob zwei Arrays in es6 gleich sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Unterstützt NodeJS ES6?Nächster Artikel:Unterstützt NodeJS ES6?