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
Hintergrund In Docker werden vier Container mit d...
Über die Baumdarstellung von Vue wird im Projekt ...
JavaScript zum Erreichen der Quellcode-Download-A...
<br />Vorheriger Artikel: Webdesign-Tutorial...
Beim Verwenden des XAML-Layouts müssen manchmal ei...
Inhaltsverzeichnis Ein JSON basiert auf zwei Stru...
Dieser Artikel gibt Ihnen den spezifischen Code v...
1. Leistungsschema: Einführung In MySQL 5.7 wurde...
Inhaltsverzeichnis 1. Indextyp 1. B+ Baum 2. Was ...
Vorwort: Zeitstempelfelder werden häufig in MySQL...
Inhaltsverzeichnis 1 Begriffliche Abgrenzung 2 Fa...
Das Videoplayer-Plugin DPlayer.js ist einfach zu ...
1. Experimentelle Umgebung Seriennummer Projekt S...
Über Semantik Die Semantik ist die Lehre von der ...
1. Bearbeiten Sie die Datei docker.service vi /us...