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

Lösung für mehrere Docker-Container, die nicht die gleiche Portnummer haben

Hintergrund In Docker werden vier Container mit d...

JavaScript-Quellcode für Elimination

JavaScript zum Erreichen der Quellcode-Download-A...

Webdesign-Tutorial (8): Webseitenhierarchie und Raumgestaltung

<br />Vorheriger Artikel: Webdesign-Tutorial...

So zeichnen Sie eine Schaltfläche in XAML als Kreis neu

Beim Verwenden des XAML-Layouts müssen manchmal ei...

Detaillierte Erklärung des Json-Formats

Inhaltsverzeichnis Ein JSON basiert auf zwei Stru...

jQuery implementiert Akkordeon-Kleinbuchstaben

Dieser Artikel gibt Ihnen den spezifischen Code v...

Details zur zugrundeliegenden Datenstruktur von MySQL-Indizes

Inhaltsverzeichnis 1. Indextyp 1. B+ Baum 2. Was ...

Verwendung des MySQL-Zeitstempels

Vorwort: Zeitstempelfelder werden häufig in MySQL...

So verwenden Sie das Videowiedergabe-Plugin DPlayer.js

Das Videoplayer-Plugin DPlayer.js ist einfach zu ...

Detaillierte Analyse der HTML-Semantik und der zugehörigen Front-End-Frameworks

Über Semantik Die Semantik ist die Lehre von der ...