JavaScript-Array-Deduplizierungslösung

JavaScript-Array-Deduplizierungslösung

Es gibt mehrere andere Möglichkeiten, Arrays zu verarbeiten ~
- includes : Mit dieser Methode wird ermittelt, ob ein Array einen angegebenen Wert enthält. Je nach Situation gibt sie true zurück, wenn der Wert enthalten ist, andernfalls false.
- find : Gibt das erste gefundene Element zurück
- some : Gibt einen Booleschen Wert zurück. Wenn einer davon true ist, wird true zurückgegeben.
- every : Gibt einen Booleschen Wert zurück. Damit true zurückgegeben wird, muss jedes Element true sein.
- filter : Gibt ein neues gefiltertes Array zurück; wenn true zurückgegeben wird, wird es beibehalten, und false wird herausgefiltert.
- reduce : Konvergenz

Kommen wir nun zum Punkt~ (ich hoffe, das hilft dir~ ich bin ein bisschen ungezogen!! Hahahahahaha)

Methode 1: Set: Es handelt sich nicht um einen Datentyp, sondern um eine Datenstruktur; die Mitglieder sind eindeutig

sei arr = [12,1,12,3,1,88,66,9,66];
Funktion einzigartig (ary) {
        sei s = neues Set(ary);
        // Array.from: Konvertiert die festgelegte Datenstruktur in ein echtes Array;
        gibt Array.from(s) zurück
    }
    einzigartig(arr);

Methode 2: Objektattributnamen können nicht wiederholt werden

sei arr = [12,1,12,3,1,88,66,9,66];
Funktion einzigartig (ary) {
        lass obj = {};
        für (lass i = 0; i < ary.length; i++) {
            sei cur = ary[i];
            wenn (Objekt[aktuell]) {
                //ary.splice(i,1);// bewirkt, dass das Array kollabiert ary[i]=ary[ary.length-1];
                ary.length--; // lösche das letzte Element i--;
                weitermachen;
            }
            obj[cur]=cur; // Füge ein Schlüssel-Wert-Paar zu obj hinzu; der Attributname und der Attributwert sind identisch}
    }
    einzigartig(arr);

Methode 3: indexOf

sei arr = [12,1,12,3,1,88,66,9,66];
 Funktion einzigartig (ary) {
        lass neuesAry = [];
        für (lass i = 0; i < ary.length; i++) {
            sei cur = ary[i];
            wenn (newAry.indexOf(cur)===-1){
                neuesAry.push(aktuell);
            }
        }
        gib neuesAry zurück;
    }
    einzigartig (arr)

Methode 4: Sortieren

sei arr = [12,1,12,3,1,88,66,9,66];
Funktion einzigartig (ary) {
       sei a = ary.sort(Funktion (a,b) {
           Rückkehr ab;
       });
       für (lass i = 0; i < a. Länge; i ++) {
           wenn(a[i]===a[i+1]){
               a.spleißen(i+1,1);
               ich--;
           }
       }
       gib a zurück;
   }
   einzigartig (arr)

Methode 5: enthält: enthält; wenn das Array dieses Element enthält, wird „true“ zurückgegeben; wenn es es nicht enthält, wird „false“ zurückgegeben;

sei arr = [12,1,12,3,1,88,66,9,66];
Funktion einzigartig (ary) {
        lass neuesAry = [];
        lass len = ary.length;
        für (lass i = 0; i < Länge; i++) {
            sei cur = ary[i];
            wenn (!newAry.includes(cur)){
                neuesAry.push(aktuell);
            }
        }
        gib neuesAry zurück;
    }
    Konsole.log(eindeutig(arr));

Methode 6: hasOwnProperty: Überprüft, ob der Eigenschaftsname eine private Eigenschaft des Objekts ist; gibt einen Booleschen Wert zurück;

sei arr = [12,1,12,3,1,88,66,9,66];
Funktion einzigartig (ary) {
        lass obj = {};
        return ary.filter(Funktion (Element,Index,a) {
            // Element: jedes Mitglied des Arrays // Index: der dem Mitglied entsprechende Index // a: das gesamte Array // Mit hasOwnProperty wird geprüft, ob die Eigenschaft aufgetreten ist;
           returniere obj.hasOwnProperty(Artikeltyp+Artikel)?false:obj[Artikeltyp+Artikel]=true;
           wenn (obj.hasOwnProperty(Artikeltyp+Artikel)){
               return false
           }anders{
               obj[Artikeltyp+Artikel]=true;
               gibt true zurück;
           }
        })
    }
    Konsole.log(eindeutig(arr))

Methode 7: filter+indexOf

sei arr = [12,1,12,3,1,88,66,9,66];
    Funktion einzigartig (ary) {
        return ary.filter(Funktion (Element,Index,a) {
            gibt ary.indexOf(Element)===Index zurück;
        })
    }
    Konsole.log(eindeutig(arr));

Methode 8: Spleißen

sei arr = [12,1,12,3,1,88,66,9,66];
 Funktion einzigartig (ary) {
        für (lass i = 0; i < ary.length; i++) {
            für(j=i+1;j<ary.length;j++){
                wenn(ary[i]===ary[j]){
                    ary.splice(j,1);
                    J--;
                }
            }
        }
        Rückkehr ary;
    }
    einzigartig(arr);

Methode 9: Rekursion

sei arr = [12,1,12,3,1,88,66,9,66];
Funktion einzigartig (ary) {
        lass len = ary.length;
        ary = ary.sort(Funktion (a,b) {
            Rückkehr ab;
        });
        Funktion Schleife(Index) {
            wenn(index>=1){
                wenn(ary[index]===ary[index-1]){
                    ary.splice(index,1);
                }
                Schleife(Index-1)
            }
        }
        Schleife (Länge-1);
        Rückkehr ary;
    }
    Konsole.log(eindeutig(arr));

Methode 10: Map: Nutzt die Wertspeicherfunktion der Map-Datenstruktur;

sei arr = [12,1,12,3,1,88,66,9,66];
Funktion einzigartig (ary) {
        lass neuesAry = [];
        lass map = neue Map();
        für (lass i = 0; i < ary.length; i++) {
            wenn (!map.has(ary[i])){
                map.set(ary[i],true);
                newAry.push(ary[i]);
            }
        }
    }
    einzigartig(arr);

Methode 11: Reduzieren

sei arr = [12,1,12,3,1,88,66,9,66];
Funktion einzigartig (ary) {
        // Reduzieren: Das erste ist eine Funktion und der zweite Parameter wird an prev des ersten Rückrufs übergeben;
        returniere ary.reduce((vorherige,nächste)=>{
            //Der Rückgabewert dieser Funktion ist prev für die nächste Ausführung;
            returniere vorherige.includes(nächstes)?vorherige:[...vorherige,nächstes];
        },[])
    }
    Konsole.log(eindeutig(arr));

Methode 12: Ähnlich wie Methode 1, jedoch unter Verwendung des Restoperators …

sei arr = [12,1,12,3,1,88,66,9,66];
    sei a = [… neues Set(arr)];
    konsole.log(a);

Dies ist das Ende dieses Artikels über JS-Array-Lösungen. Weitere relevante Inhalte zur JS-Array-Deduplizierung finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Fünf gängige Möglichkeiten zum Entfernen doppelter Arrays in JavaScript
  • Einführung in JavaScript-Array-Deduplizierungs- und -Flatteningfunktionen
  • Details zur JS-Array-Deduplizierung
  • Detaillierte Diskussion mehrerer Methoden zur Deduplizierung von JavaScript-Arrays
  • Detaillierte Erklärung der JavaScript-Array-Deduplizierung
  • Sieben Möglichkeiten zur Implementierung der Array-Deduplizierung in JS

<<:  Eine kurze Analyse der parallelen MySQL-Replikation

>>:  Prinzipanalyse des UDP-Verbindungsobjekts und Anwendungsbeispiele

Artikel empfehlen

Drei BOM-Objekte in JavaScript

Inhaltsverzeichnis 1. Standortobjekt 1. URL 2. Ei...

Implementierung der gemeinsamen Nutzung von Daten zwischen Docker Volume-Containern

Was ist Volumen? „Volume“ bedeutet auf Englisch K...

Verschachtelte Anzeigeimplementierung der Vue-Router-Ansicht

Inhaltsverzeichnis 1. Routing-Konfiguration 2. Vu...

Details zu Makrotasks und Mikrotasks in JavaScript

Inhaltsverzeichnis 1. Was sind Mikroaufgaben? 2. ...

So verfolgen Sie Benutzer mit JS

Inhaltsverzeichnis 1. Synchrones AJAX 2. Asynchro...

So erstellen Sie mit Photoshop ein Web-Drahtgittermodell

Dieser Beitrag stellt eine Reihe kostenloser Phot...

So verwenden Sie CSS-Zähler, um geordnete Zahlenlisten zu verschönern

Beim Webdesign ist es sehr wichtig, eine organisi...

CSS+HTML zur Realisierung der Funktion der oberen Navigationsleiste

Implementierungseffektdiagramm für die Navigation...

JS-Code zum Erzielen eines Seitenwechseleffekts

In diesem Artikelbeispiel wird der spezifische Co...

Gegenseitiger Wertetransfer und Aufruf von Vue-Eltern-Kind-Komponenten

Inhaltsverzeichnis 1. Übergeordnetes Element über...