So ermitteln Sie, ob zwei Arrays in es6 gleich sind

青灯夜游
Freigeben: 2022-10-18 19:54:55
Original
2906 Leute haben es durchsucht

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];
Nach dem Login kopieren

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("两数组的长度不相等");
}
Nach dem Login kopieren
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);
Nach dem Login kopieren

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))));
    Nach dem Login kopieren

    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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage