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
Vorwort Dieser Artikel stellt hauptsächlich den r...
Allgemeiner Handy-Stil: @media alle und (Ausricht...
Die Datenmigration muss von MySQL nach ClickHouse...
Problembeschreibung In unseren Projekten sind hor...
Ein Zweck Wählen Sie auf der HTML-Seite einen lok...
1. Einleitung Gilt es als Aufwärmen alter Themen,...
Inhaltsverzeichnis Übersicht (Loop-Modus – Allgem...
Die folgende Grafik zeigt, wie zeitaufwändig es is...
Inhaltsverzeichnis 1.DB, DBMS, SQL 2. Eigenschaft...
Wenn wir wissen, welche For-Schleife oder welcher...
1. Das Tabellen-Tag ist Tabelle, tr ist Zeile, td ...
Inhaltsverzeichnis Vorteil 1: Optimierung des Dif...
MySQL erstellt Benutzer und autorisiert und wider...
Herunterladen https://tomcat.apache.org/download-...
In diesem Artikelbeispiel wird der spezifische Co...