Heim > Artikel > Web-Frontend > So ermitteln Sie, ob zwei Arrays in es6 gleich sind
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.
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)
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);
Beschreibung: 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. Wenn das Differenzsatz-Array ein leeres Array ist, sind die beiden Arrays gleich Ein leeres Array, die beiden Arrays sind nicht gleichlet differenceABSet = Array.from(new Set([...newA].filter(x => !newB.has(x))));
) entnommen. 【Verwandte Empfehlungen:
Javascript-Video-Tutorial】
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!