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
In diesem Artikelbeispiel wird der spezifische Co...
1. at ist so konfiguriert, dass nach 5 Stunden „D...
Der Zweck der Verwendung von HTML zum Markieren v...
Die virtuelle Maschine wird verwendet oder es kan...
1. Alipay-Methode: Alipay-Methode: Klicken Sie zu...
Gespeicherte MySQL-Prozedur 1. Erstellen Sie die ...
Vorwort Wir haben vielleicht schon vom Konzept de...
Das Zählen der Größe jeder Tabelle in jeder Daten...
Ich habe in letzter Zeit nichts zu tun, also bast...
In höheren Versionen von Tomcat ist der Standardm...
Umgebung: init_worker_by_lua, set_by_lua, rewrite...
Inhaltsverzeichnis 1. Was ist ein regulärer Ausdr...
Ob es sich nun um das Hintergrundbild oder die Tex...
Titel XML/HTML-CodeInhalt in die Zwischenablage k...
Dockerfile ist eine Datei, die zum Erstellen eine...