Heim > Artikel > Web-Frontend > So ermitteln Sie, ob zwei Arrays doppelte Elemente in Javascript haben
Beurteilungsschritte: 1. Verwenden Sie die Anweisung „new Set (array)“, um beide Arrays in Set-Sammlungstypen zu konvertieren. 2. Verwenden Sie „new Set([...set 1].filter(x => set 2 . has(x)))“-Anweisung, um die Schnittmenge zweier Mengen zu erhalten, und eine neue Menge mit allen Schnittmengenelementen wird zurückgegeben; 3. Verwenden Sie die „Array.from (Schnittmenge)“-Anweisung, um die Menge in einen Array-Typ zu konvertieren 4. Mit der Anweisung „intersection array == []“ wird ermittelt, ob das Schnittfeld ein leeres Array ist. Wenn ja, haben die beiden Arrays keine doppelten Elemente.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Um festzustellen, ob zwei Arrays doppelte Elemente haben, mit anderen Worten, um festzustellen, ob zwei Arrays einen Schnittpunkt haben.
In JavaScript können Sie die has()-Methode des Set-Objekts in Verbindung mit der filter()-Methode des Arrays verwenden, um Urteile zu fällen.
Implementierungsschritte:
Schritt 1: Konvertieren Sie beide Arrays in Set-Sammlungstypen
let a=[1, 2, 3]; let b=[3, 5, 2]; newA = new Set(a); newB = new Set(b);
Schritt 2: Verwenden Sie die Funktionen has() und filter(), um die Schnittmenge der beiden Sets zu erhalten
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 in einem Satz enthalten sind und zurückgegeben werden.
Schritt 3: Verwenden Sie die Array.from-Methode, um die Sammlung in einen Array-Typ zu konvertieren.
Die Array.from-Methode wird verwendet, um zwei Arten von Objekten in echte Arrays umzuwandeln: Array-ähnliche Objekte und durchlaufbare (iterierbare) Objekte (einschließlich der neuen Datenstrukturen Set und Map von ES6).
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); let arr = Array.from(intersectionSet); console.log(arr);
Schritt 4: Bestimmen Sie, ob das Schnittpunkt-Array ein leeres Array ist.
Wenn es ein leeres Array ist, haben die beiden Arrays keine doppelten Elemente Array, dann haben die beiden Arrays doppelte Elemente
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob zwei Arrays doppelte Elemente in Javascript haben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!