Es gibt mehrere andere Möglichkeiten, Arrays zu verarbeiten ~
Methode 1: Set: Es handelt sich nicht um einen Datentyp, sondern um eine Datenstruktur; die Mitglieder sind eindeutigsei 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 werdensei 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: indexOfsei 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: Sortierensei 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+indexOfsei 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ßensei 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: Rekursionsei 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: Reduzierensei 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:
|
<<: Eine kurze Analyse der parallelen MySQL-Replikation
>>: Prinzipanalyse des UDP-Verbindungsobjekts und Anwendungsbeispiele
Inhaltsverzeichnis 1. Standortobjekt 1. URL 2. Ei...
In diesem Artikel wird die Installations- und Kon...
Was ist Volumen? „Volume“ bedeutet auf Englisch K...
Inhaltsverzeichnis 1. Routing-Konfiguration 2. Vu...
Einzeiliger Befehl docker run -d \ -v /share:/hom...
Inhaltsverzeichnis 1. Was sind Mikroaufgaben? 2. ...
Inhaltsverzeichnis 1. Synchrones AJAX 2. Asynchro...
Wiederherstellung der MySQL Bin-Protokolldaten: v...
Dieser Beitrag stellt eine Reihe kostenloser Phot...
Beim Webdesign ist es sehr wichtig, eine organisi...
Implementierungseffektdiagramm für die Navigation...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. Übergeordnetes Element über...
Da myeclipse2017 und idea2017 auf dem Computer in...
Dieser Fall basiert auf dem CentOS 7-System Geeig...