Beispiel: Entfernen Sie doppelte Elemente aus dem folgenden Array (am Beispiel mehrerer Datentypen) const arr = [1, 2, 2, 'abc', 'abc', true, true, false, false, undefiniert, undefiniert, NaN, NaN] 1. Verwenden von Set()+Array.from()
const Ergebnis = Array.from(neues Set(arr)) console.log(Ergebnis) // [ 1, 2, 'abc', wahr, falsch, undefiniert, NaN ]
2. Verwenden der Zweischicht-Loop- + Array-Splice-Methode Die Array-Elemente werden in zwei Schleifen einzeln verglichen. Anschließend werden die doppelten Elemente Funktion entferneDuplikat(arr) { lass len = arr.length für (sei i = 0; i < len; i++) { für (sei j = i + 1; j < len; j++) { wenn (arr[i] === arr[j]) { arr.splice(j, 1) len-- // Reduzieren Sie die Anzahl der Schleifen, um die Leistung zu verbessern j-- // Stellen Sie sicher, dass der Wert von j nach der Addition unverändert bleibt} } } Rückflug an } const Ergebnis = removeDuplicate(arr) console.log(Ergebnis) // [ 1, 2, 'abc', wahr, falsch, undefiniert, NaN, NaN ] 3. Verwenden der indexOf-Methode des ArraysErstellen Sie ein neues leeres Array, durchlaufen Sie das Array, das dedupliziert werden muss, und speichern Sie die Array-Elemente im neuen Array. Stellen Sie vor dem Speichern fest, ob das Array das aktuelle Element bereits enthält. Wenn nicht, speichern Sie es. Mit dieser Methode können auch keine Duplikate von NaN entfernt werden. Methode indexOf(): Gibt den Index des ersten Vorkommens eines angegebenen Werts im Funktion entferneDuplikat(arr) { const neuerArr = [] arr.fürJeden(Element => { wenn (newArr.indexOf(item) === -1) { newArr.push(Artikel) } }) return newArr // Gibt ein neues Array zurück } const Ergebnis = removeDuplicate(arr) console.log(Ergebnis) // [ 1, 2, 'abc', wahr, falsch, undefiniert, NaN, NaN ] 4. Verwenden Sie die Includes-Methode des Arrays Die Logik dieser Methode ähnelt der Methode „includes()“: Wird verwendet, um zu bestimmen, ob ein Array einen angegebenen Wert enthält. Je nach Situation gibt sie „true“ zurück, wenn es einen Wert enthält, andernfalls „false“. Funktion entferneDuplikat(arr) { const neuerArr = [] arr.fürJeden(Element => { wenn (!newArr.includes(item)) { newArr.push(Artikel) } }) returniere newArr } const Ergebnis = removeDuplicate(arr) console.log(Ergebnis) // [ 1, 2, 'abc', wahr, falsch, undefiniert, NaN ]
Einfacher Test zur Beurteilung von NaN durch include(): const testArr = [1, 'a', NaN] console.log(testArr.includes(NaN)) // wahr 5. Verwenden von filter()+indexOf() des Arrays filter()-Methode: Erstellt ein neues Array, das alle Elemente enthält, die den von der bereitgestellten Funktion implementierten Test bestehen. Funktion entferneDuplikat(arr) { return arr.filter((Element, Index) => { Rückgabewert arr.indexOf(item) === index }) } const Ergebnis = removeDuplicate(arr) console.log(Ergebnis) // [ 1, 2, 'abc', wahr, falsch, undefiniert ]
const testArr = [1, 'a', NaN] console.log(testArr.indexOf(NaN)) // -1 6. Verwenden von Map() Das Map-Objekt ist eine von Map-Objekt: Wird verwendet, um Schlüssel-Wert-Paare zu speichern und die ursprüngliche Einfügereihenfolge der Schlüssel zu merken. Jeder beliebige Wert (Objekt oder Primitiv) kann als Schlüssel oder Wert verwendet werden. Funktion entferneDuplikat(arr) { const map = neue Map() const neuerArr = [] arr.fürJeden(Element => { if (!map.has(item)) { // Mit has() wird ermittelt, ob die Map den Attributwert des Elements enthält map.set(item, true) // Mit set() wird das Element der Map zugewiesen und sein Attributwert auf true gesetzt. newArr.push(Artikel) } }) returniere newArr } const Ergebnis = removeDuplicate(arr) console.log(Ergebnis) // [ 1, 2, 'abc', wahr, falsch, undefiniert, NaN ]
7. Verwendungszweck Die Implementierungsidee ähnelt der von Funktion entferneDuplikat(arr) { const neuerArr = [] const obj = {} arr.fürJeden(Element => { wenn (!obj[item]) { newArr.push(Artikel) obj[item] = true } }) returniere newArr } const Ergebnis = removeDuplicate(arr) console.log(Ergebnis) // [ 1, 2, 'abc', wahr, falsch, undefiniert, NaN ] Damit ist dieser Artikel über sieben Möglichkeiten zur Implementierung der Array-Deduplizierung in JS abgeschlossen. Weitere Informationen zur JS-Array-Deduplizierung finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: favico.ico --- Schritte zum Einrichten des Website-ICO-Symbols
>>: SQL-Übung: Produktkategorie-Datenoperation in der Online-Shopping-Datenbank
Dieser Artikel stellt hauptsächlich ein Beispiel ...
Inhaltsverzeichnis Vorwort Zusammenfassung der Au...
Im vorherigen Artikel haben wir etwas über die pa...
Es gibt eine Interviewfrage, die Folgendes erforde...
HTML-Meta-Tag HTML-Meta-Tags können verwendet wer...
Kürzlich habe ich auf einem öffentlichen Konto ei...
Die Attribute des <TD>-Tags werden verwende...
Das Wechseln von Dateien ist eine gängige Operati...
Inhaltsverzeichnis 1. Die Rolle der Uhr in Vue is...
Projekthintergrund Seit kurzem gibt es ein Projek...
Inhaltsverzeichnis 1. Betrieb von js Integer 2. S...
Das mobile Vue-Terminal bestimmt die Richtung, in...
Inhaltsverzeichnis Vorwort Vorteile der Axios-Kap...
Lösung: Fügen Sie in <head> den folgenden Co...
1. Es gibt im Allgemeinen zwei Methoden zur Steue...