Heim  >  Artikel  >  Web-Frontend  >  Der schnellste Weg, Duplikate aus einem Array in Javascript zu entfernen

Der schnellste Weg, Duplikate aus einem Array in Javascript zu entfernen

PHPz
PHPzOriginal
2023-05-16 09:40:37631Durchsuche

Als Skriptsprache wird JavaScript häufig in der Webentwicklung und im Front-End-UI-Design verwendet, da es einfach zu lesen und zu schreiben ist. Als gängige Datenstruktur spielen Arrays häufig eine wichtige Rolle bei der Verwendung von JavaScript, etwa beim Durchlaufen in Schleifen, beim Sortieren usw. Bei der Durchführung von Array-Vorgängen kommt es häufig zu einer Duplizierung von Array-Elementen. Zu diesem Zeitpunkt müssen wir Deduplizierungsvorgänge für das Array durchführen.

Wie kann man also JavaScript-Arrays am schnellsten deduplizieren?

Methode 1: Set (ES6) verwenden

In nativem JavaScript löst Set das Problem der Array-Deduplizierung sehr gut. Es kann Deduplizierungs- und Sortiervorgänge für eine unbekannte Anzahl von Elementsammlungen schnell abschließen. Das Folgende ist die Code-Implementierung, die Set verwendet, um Duplikate zu entfernen:

let uniqueArray = Array.from(new Set(originalArray)); 

Oder es kann als

let uniqueArray= [...new Set(originalArray)]; 

geschrieben werden. Unter anderem wird die Array.from()-Methode verwendet, um Set in ein Array zu konvertieren, [...] ist das Erweiterungsoperator, der Set direkt als Array konvertiert.

Die Deduplizierungsmethode mit Set verfügt über einen einfachen Code und ist bei der Verarbeitung großer Arrays effizienter. Diese Methode ist jedoch nicht sehr kompatibel mit dem IE-Browser. Daher wird empfohlen, vor der Verwendung zu prüfen, ob der Browser Set unterstützt.

Methode 2: Verwenden Sie indexOf

Mit der indexOf-Methode können Sie leicht feststellen, ob das Array-Element vorhanden ist, und so die Array-Deduplizierungsfunktion realisieren. Das Folgende ist der Code für die Verwendung von indexOf zur Implementierung der Array-Deduplizierung:

let uniqueArray = [];
for(let i = 0; i < originalArray.length; i++){
    if(uniqueArray.indexOf(originalArray[i]) === -1){
        uniqueArray.push(originalArray[i]);
    }
}

In dieser Implementierung verwenden wir das UniqueArray-Array, um eindeutige Elemente zu speichern, das ursprüngliche Array OriginalArray zu durchlaufen und festzustellen, ob die darin enthaltenen Elemente bereits im UniqueArray If vorhanden sind sie existieren nicht, dann fügen Sie sie zu uniqueArray hinzu.

Obwohl die Codegröße dieser Methode etwas kompliziert ist, ist sie in kleineren Arrays sehr schnell, da sie nur einmal eine Schleife durchlaufen muss.

Methode 3: Verwenden Sie die neue ES6-Methode Includes

ES6 verfügt über eine neue Includes-Methode, mit der überprüft werden kann, ob ein Array ein bestimmtes Element enthält. Die Includes-Methode ist bei der Verarbeitung großer Arrays viel schneller als indexOf. Im Folgenden finden Sie den Code für die Verwendung von Includes zum Implementieren der Array-Deduplizierung:

let uniqueArray = [];
for(let i = 0; i < originalArray.length; i++){
    if(!uniqueArray.includes(originalArray[i])){
        uniqueArray.push(originalArray[i]);
    }
}

Ähnlich wie die indexOf-Methode verwendet diese Implementierung auch ein neues Array „uniqueArray“, um nicht duplizierte Elemente zu speichern. Dieser Ansatz ist lesbar und ermöglicht eine schnelle Deduplizierung in großen Arrays.

Fazit

Von den oben genannten drei Methoden ist die Verwendung von Set die einfachste und schnellste. Es ist jedoch zu beachten, dass Sie prüfen müssen, ob der Browser mit Set kompatibel ist. Die indexOf-Methode ist besser lesbar, aber nur für kleine Arrays geeignet. Mit der Includes-Methode von ES6 können große Arrays verarbeitet werden, außerdem ist sie kürzer und einfacher zu lesen.

Versuchen Sie in tatsächlichen Projekten, verschiedene Methoden zu verwenden und wählen Sie die Methode aus, die je nach tatsächlicher Situation am besten zu Ihnen passt.

Das obige ist der detaillierte Inhalt vonDer schnellste Weg, Duplikate aus einem Array in Javascript zu entfernen. 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