Heim > Web-Frontend > js-Tutorial > Hauptteil

Was ist die Methode, um Duplikate aus dem JS-Array zu entfernen?

coldplay.xixi
Freigeben: 2023-01-03 09:29:54
Original
22070 Leute haben es durchsucht

JS-Array-Deduplizierungsmethode: 1. Array-Traversal-Methode; 3. Methode zum Entfernen benachbarter Arrays; 5. Array-Traversal-Methode;

Was ist die Methode, um Duplikate aus dem JS-Array zu entfernen?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, DELL G3-Computer.

js-Array-Deduplizierungsmethode:

Die erste Methode: Durchlaufen des Arrays

Diese Methode ist die einfachste, intuitivste und am leichtesten zu verstehen. Der Code lautet wie folgt:

Was ist die Methode, um Duplikate aus dem JS-Array zu entfernen?

Diese Methode ist leicht zu verstehen, mit der Methode indexOf() (die Methode indexOf() gibt den Index des ersten Ergebnisses im Array zurück, wenn es abgefragt wird, und -1, wenn es nicht abgefragt werden kann). Erstellen Sie zunächst ein neues leeres Array, um das neue deduplizierte Array zu speichern, und ermitteln Sie dann während des Durchlaufvorgangs, ob im newArr-Array Elemente vorhanden sind Es existiert bereits (Duplikat), dann wird keine Operation ausgeführt und dann wird es von Anfang bis Ende durchlaufen, wodurch genau der Zweck der Deduplizierung erreicht wird.

Zweite Methode: Array-Index-Beurteilungsmethode

Diese Methode ist auch einfacher zu verstehen:

Was ist die Methode, um Duplikate aus dem JS-Array zu entfernen?

Dies überschneidet sich mit der ersten Methode. Schauen Sie sich nur an, ob Wenn Sie hier beim Durchlaufen von arr den aktuellen Wert im arr-Array finden und der zurückgegebene Index in der aktuellen Schleife gleich i ist, beweist dies, dass dieser Wert zum ersten Mal erscheint, und wird daher in die geschoben Neues Array. Wenn ein angezeigter Wert durchlaufen wurde, wird sein Index nicht zurückgegeben. Die Methode indexof() gibt nur den Index des ersten gefundenen Werts zurück, sodass Duplikate übergeben werden und Werte, die nur einmal angezeigt werden, zurückgegeben werden Der Zweck der Deduplizierung wird ebenfalls im Array gespeichert.

Die dritte Methode: Methode zum Entfernen benachbarter Objekte nach dem Sortieren

Diese Methode verwendet die Methode sort(). Der Code lautet wie folgt:

Was ist die Methode, um Duplikate aus dem JS-Array zu entfernen?

Die Idee dieser Methode ist: Verwenden Sie zuerst sort() Methode zum Sortieren von arr. Nach dem Sortieren müssen dieselben nebeneinander liegen. Entfernen Sie sie einfach. Initialisieren Sie zunächst ein arr[0] für das neue Array, da wir es zum Vergleich mit dem arr-Array verwenden müssen Die for-Schleife i beginnt ebenfalls bei 1. Wir vergleichen den durchlaufenen Wert in arr mit der letzten Ziffer des neuen Arrays. Wenn sie gleich sind, werden sie übergeben Neu angeordnet, liegen die Duplikate nebeneinander. Dadurch wird sichergestellt, dass nur der erste der wiederholten Werte eingefügt wird und der Rest dem verschobenen Element des neuen Arrays entspricht und übergeben wird, was ebenfalls erreicht wird die Auswirkung der Deduplizierung.

Die vierte Methode: Optimierte Array-Traversal-Methode

Was ist die Methode, um Duplikate aus dem JS-Array zu entfernen?

Idee: Zwei Schichten von for-Schleifen, die äußere Schicht steuert die Elemente im vorherigen Arr, die durchlaufen wurden, und die innere Schicht steuert den Zugriff der ersten Schicht auf die Elemente nach dem Element, bei dem wir angekommen sind, beginnen Sie weiterhin mit dem 0. Element und vergleichen Sie das 0. Element mit den Elementen danach. Wenn es kein Element gibt, das diesem Element entspricht, beweist dies, dass keine Duplizierung vorliegt, und es wird in das neue Element verschoben Array und gespeichert. Wenn es diesem Element entspricht, übergeben Sie es und treten Sie direkt in die nächste Schleife ein. Vergleichen Sie beginnend mit dem ersten Element weiter mit den dahinter liegenden Elementen, gehen Sie wie oben vor und wiederholen Sie die Schleife bis zum Ende: Alle sich nicht wiederholenden Elemente werden in das neue Array verschoben, während die vorherigen Elemente, die wiederholt werden, verworfen werden und nur noch übrig bleiben Wenn das letzte Element entfernt wird, wird es zu diesem Zeitpunkt nicht mehr wiederholt, und ein neues Array wird verschoben und alle wiederholten Elemente werden herausgefiltert, wodurch der Zweck der Deduplizierung erreicht wird.

Die fünfte Methode: Array-Traversal-Methode

Was ist die Methode, um Duplikate aus dem JS-Array zu entfernen?

Idee: Es handelt sich auch um eine zweischichtige for-Schleife. Die äußere for-Schleife steuert das Durchlaufen des arr-Arrays und die innere for-Schleife steuert das Durchlaufen des Neues Array. Wenn ab Bit 0 im neuen Array kein Element im arr-Array durchlaufen wird und der Wert der Zustandsvariablen bl immer noch wahr ist, wird dieser Wert natürlich eingegeben und verschoben Wenn dieses Element vorhanden ist, wird es wiederholt. Ändern Sie dann den Wert der Statusvariablen bl in „false“ und verlassen Sie die aktuelle Schleife von der äußeren Schicht. Dieser Zyklus wiederholt sich und schließlich wird der Effekt der Deduplizierung erreicht.

Verwandte kostenlose Lernempfehlungen: js-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist die Methode, um Duplikate aus dem JS-Array zu entfernen?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!