Heim >Web-Frontend >Front-End-Fragen und Antworten >So erkennen Sie, ob zwei Arrays in es6 dieselben Elemente enthalten

So erkennen Sie, ob zwei Arrays in es6 dieselben Elemente enthalten

青灯夜游
青灯夜游Original
2022-10-18 16:44:593703Durchsuche

Erkennungsschritte: 1. Konvertieren Sie beide Arrays in den Mengentyp, Syntax „new Set(arr)“ 2. Ermitteln Sie die Schnittmenge zweier Mengen, Syntax „new Set([...set1].filter(x=> ; set2.has(x)))“ werden die Schnittelemente in eine Set-Sammlung aufgenommen und zurückgegeben; 3. Konvertieren Sie die Set-Sammlung, die die Schnittelemente enthält, in einen Array-Typ, die Syntax lautet „Array.from(rse)“; 4. Beurteilung: Ob das Schnittarray ein leeres Array ist. Wenn ja, gibt es keine identischen Elemente, andernfalls gibt es identische Elemente.

So erkennen Sie, ob zwei Arrays in es6 dieselben Elemente enthalten

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

Um zu erkennen, ob zwei Arrays dieselben Elemente enthalten, muss festgestellt werden, ob sich die beiden Arrays überschneiden.

Erkennungsidee:

  • Ermitteln Sie den Schnittpunkt zweier Arrays

  • , um festzustellen, ob der Schnittpunkt leer ist, gibt es keine identischen Elemente identische Artikel.

Implementierungsschritte:

1. Ermitteln Sie die Schnittmenge zweier Arrays

In es6 können Sie die has()-Methode des Set-Objekts in Verbindung mit der filter() des Arrays verwenden um den Schnittpunkt der beiden Array-Schnittpunkte zu finden.

  • Set ist eine neue von ES6 bereitgestellte Datenstruktur, die einem Array ähnelt, jedoch keine doppelten Werte aufweist. Mit dieser Funktion können wir das Array zur Deduplizierung in einen Set-Typ konvertieren und es dann mithilfe der Array.from-Methode erneut in ein Array konvertieren. Die Methode „Set has()“ gibt an, ob das Set-Objekt den angegebenen Wert enthält. Gibt true zurück, wenn der angegebene Wert vorhanden ist, andernfalls false.

  • Hinweis: Wenn Sie die Methode has() verwenden möchten, müssen Sie das Array zuerst in einen festgelegten Sammlungstyp konvertieren

    let a=[1, 2, 3];
    let b=[3, 5, 2];
    newA = new Set(a);
    newB = new Set(b); 
    let intersectionSet = new Set([...newA].filter(x => newB.has(x)));
    console.log(intersectionSet);

Es ist ersichtlich, dass zu diesem Zeitpunkt die Schnittelemente enthalten sind eine Mengensammlung und zurückgegebene

So erkennen Sie, ob zwei Arrays in es6 dieselben Elemente enthalten

2. Konvertieren Sie eine Mengensammlung mit Schnittmengenelementen in einen Array-Typ

In es6 können Sie die Array.from-Methode verwenden, um eine Menge in einen Array-Typ umzuwandeln

Das Array. Die from-Methode wird verwendet, um zwei Arten von Objekten in echte Arrays zu konvertieren: Array-ähnliche Objekte und iterierbare Objekte (einschließlich der neuen Datenstrukturen Set und Map von ES6).

  • let intersectionSet = Array.from(new Set([...newA].filter(x => newB.has(x))));
    console.log(intersectionSet);

3. Bestimmen Sie, ob das Schnittmengenarray ein leeres Array ist. So erkennen Sie, ob zwei Arrays in es6 dieselben Elemente enthalten

Wenn es sich um ein leeres Array handelt, gibt es keine identischen Elemente sind identische Elemente

Das obige ist der detaillierte Inhalt vonSo erkennen Sie, ob zwei Arrays in es6 dieselben Elemente enthalten. 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:Basiert Javascript auf Java?Nächster Artikel:Basiert Javascript auf Java?