Organisieren Sie einige Methoden, falls Sie sie später vergessen und Ihre Notizen noch einmal durchsehen müssen Lassen Sie uns zunächst über die Abflachung mehrdimensionaler Arrays sprechen Methode 1: flat()// Hier ist beispielsweise ein mehrdimensionales Array let arr = [1, 1, 2, [4, 2, [1, 3, [4, 2, 1]], 5], 2, 5, 3] console.log(arr.flat(2)); // Anzahl der verschachtelten Ebenen angeben // Ausgabe [ 1, 1, 2, 4, 2, 1, 3, [ 4, 2, <1 leeres Element>, 1 ], 5, 2, 5, 3 ] console.log(arr.flat(Infinity)); // Egal wie viele Verschachtelungsebenen es gibt, // Ausgabe: [ 1, 1, 2, 4, 2, 1, 3, 4, 2, 1, 5, 2, 5, 3 ] Methode 2: Mit leeren Strings verketten und dann mit split() teilenFaules Schreiben // Immer noch dieses Array, let arr = [1, 1, 2, [4, 2, [1, 3, [4, 2, 1]], 5], 2, 5, 3] // Wenn Zeichen mit anderen grundlegenden Datentypen verarbeitet werden, werden sie alle in Zeichen umgewandelt. Rufen Sie dann die Methode split () auf, um sie mit ,, zu teilen console.log((arr + '').split(',')); // Ausgabe ['1', '1', '2', '4', '2', '1', '3', '4', '2', '1', '5', '2', '5', '3'] // Die Ausgabe ist nicht sehr gut, lasst uns sie weiter optimieren // Wir verwenden weiterhin dieses Array let arr = [1, 1, 2, [4, 2, [1, 3, [4, 2, 1]], 5], 2, 5, 3] lass newArr = (arr + '').split(',') lass arr1 = [] newArr.forEach((Elemente) => { arr1.push(+items) // '+items' Datentyp konvertieren}) Konsole.log(arr1); // Ausgabe [ 1, 1, 2, 4, 2, 1, 3, 4, 2, 1, 5, 2, 5, 3 ] Methode 3: toString()Da wir Arrays durch Berechnungen in Zeichentypen umwandeln können, erscheint die Verwendung von arr+' ' nicht so elegant. Zu diesem Zeitpunkt fiel mir plötzlich ein, dass das js Number-Objekt eine toString()-Methode hat. Definition und Verwendung sei arr = [1, 1, 2, [4, 2, [1, 3, [4, 2, 1]], 5], 2, 5, 3] let newArr = arr.toString().split(',') lass arr1 = [] newArr.forEach((Elemente) => { arr1.push(+Artikel) }) Konsole.log(arr1); // Ausgabe ['1', '1', '2', '4', '2', '1', '3', '4', '2', '1', '5', '2', '5', '3'] Methode 4: join() Definition und Verwendung Durch Aufruf der join()-Methode eines Arrays wird ein String zurückgegeben. Jedes Element in arr wird in einen String umgewandelt. Elemente können durch Übergabe eines Trennzeichens aneinandergereiht werden. Das Standardtrennzeichen ist ein Komma. sei arr = [1, 1, 2, [4, 2, [1, 3, [4, 2, 1]], 5], 2, 5, 3] lass newArr = arr.join().split(',') console.log(neuerArr) // Ausgabe ['1', '1', '2', '4', '2', '1', '3', '4', '2', '1', '5', '2', '5', '3'] Methode 5: Rekursiver Aufruf Wenn wir über Rekursion sprechen, müssen wir fragen: Was ist Rekursion? Definition: Die Rekursion sieht wahrscheinlich so aus: Funktion a() { wenn (a <= 1) { Rückgabe 1 } anders { gibt a * fn(a - 1) zurück } } Reduzieren Sie ein mehrdimensionales Array: sei arr = [1, 1, 2, [4, 2, [1, 3, [4, 2, 1]], 5], 2, 5, 3] lass newArr = [] lass fn = (arr) => { für (sei i = 0; i < arr.length; i++) { // Bestimmen Sie, ob der durchlaufene Wert noch immer ein Array ist, und fahren Sie mit der Durchquerung fort, wenn (Array.isArray(arr[i])) { // Verwenden Sie das Array Array.isArray(), um zu bestimmen, ob der übergebene Wert ein Array ist fn(arr[i]) // Wenn der durchlaufene Wert kein Array ist, schiebe ihn in das neue Array newArr} else { newArr.push(arr[i]) } } } fn(arr) console.log(neuerArr); Methode 6: Verwenden von „Reduce“Diese Methode muss erlernt werden und wird später in Vue häufig verwendet. reduzieren initialValue: Hier können Sie manuell einen Anfangswert zuweisen. Rückgabewert: Der Rückgabewert in der aktuellen Schleife kann als Initialisierung für die nächste Schleife verwendet werden. const arr = [1, 1, 2, [4, 2, [1, 3, [4, 2, 1]], 5], 2, 5, 3] const fn = (Array) => { returniere Array.Reduce((vorherige, aktuell) => { //Überprüfen, ob curr ein Array ist return prev.concat(Array.isArray(curr) ? fn(curr) : curr) }, []) } Konsole.log(fn(arr)) Array-Deduplizierung Methode 1: Erstellen Sie ein neues Array und prüfen Sie, ob das Element im neuen Array vorhanden ist. Wenn nicht, fügen Sie das Element dem neuen Array hinzu.const arr = [1, 1, 2, 4, 2, 1, 3, 4, 2, 1, 5, 2, 5, 3] const fn = (arr) => { const neuerArr = [] für (sei i = 0; i < arr.length; i++) { wenn (newArr.indexOf(arr[i]) == -1) { newArr.push(arr[i]) } } returniere newArr } Konsole.log(fn(arr)); Methode 2: Verwenden Sie die Set-Methodeconst arr = [1, 1, 2, 4, 2, 1, 3, 4, 2, 1, 5, 2, 5, 3] // Mithilfe der von ES6 bereitgestellten Set-Datenstruktur sind die neuen Set-Mitglieder eindeutig. Anschließend werden die Daten erweitert und im Array gespeichert const newArr = [...new Set(arr)] console.log(neuerArr); // Alternativ können Sie die Methode Array.from() verwenden, um ein arrayähnliches Objekt oder ein traversierbares Objekt in ein echtes Array zu konvertieren. const newArr = Array.from(neues Set(arr)) console.log(neuerArr); Methode 3: Verwenden von filter()const arr = [1, 1, 2, 4, 2, 1, 3, 4, 2, 1, 5, 2, 5, 3] const newArr = arr.filter((value, index, array) => { // Übergebe drei Parameter, value, index und ursprüngliches Array, returniere array.indexOf(value) == index // indexOf gibt immer den Index des ersten Werts zurück. Der Index der nachfolgenden doppelten Werte ist nicht gleich der von indexOf zurückgegebenen Position und wird vom Filter herausgefiltert}) console.log(neuerArr); Sortieren eines Arrays Methode 1: Verwenden von sort() Definition und Verwendung Grammatik Rückgabewert: Eine Referenz auf das Array. Beachten Sie, dass das Array anhand des Original-Arrays sortiert wird und keine Kopien erstellt werden. Beschreibung Wenn diese Methode ohne Parameter aufgerufen wird, werden die Elemente im Array in alphabetischer Reihenfolge oder genauer in der Reihenfolge der Zeichenkodierungen sortiert. Dazu müssen die Array-Elemente zunächst (sofern notwendig) in Strings umgewandelt werden, um diese vergleichen zu können. Wenn a kleiner als b ist, sollte a im sortierten Array vor b erscheinen und ein Wert kleiner als 0 zurückgegeben werden.
const arr = [1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5, 5, 5]; const fn = (a, b) => { returniere a - b // b - a in umgekehrter Reihenfolge} console.log(arr.sort(fn)); Dies ist das Ende dieses Artikels zum Konvertieren eines mehrdimensionalen Arrays in ein eindimensionales Array und zum anschließenden Entfernen der Neuordnung in js. Weitere verwandte Inhalte zum Konvertieren eines mehrdimensionalen Arrays in ein eindimensionales Array und zum Entfernen der Neuordnung in js finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Tutorial zur Installation von MySQL unter CentOS7
>>: Detaillierte Erklärung des Whereis-Beispiels zum Suchen eines bestimmten Programms in Linux
Inhaltsverzeichnis 1. Doppelte Anfragen storniere...
1 Tomcat herunterladen und starten Gehen Sie auf ...
Lösungsprozess: Methode 1: Die Standard-Kernelver...
AWS – Amazons Cloud-Computing-Serviceplattform Ic...
1. Führen Sie SQL aus, um anzuzeigen wählen Sie @...
Inhaltsverzeichnis 1. Einleitung 1. Was ist ein I...
Vue implementiert die Palastgitterrotationslotter...
Dieser Artikel veranschaulicht anhand von Beispie...
Teil 3: ❤Drei Möglichkeiten, den Backend-Datenemp...
Da der Einfluss des Unternehmens wächst und seine...
mysqladmin ist ein offizielles MySQL-Clientprogra...
Vorwort In „High Performance MySQL“ wird erwähnt,...
Schwarmclusterverwaltung Einführung Docker Swarm ...
Ist es der unten gezeigte Effekt? Wenn ja, lesen ...
Heute zeigen wir Ihnen, wie Sie das lokale Docker...