So reduzieren Sie ein ArrayWas ist Array-Flattening? Array-Abflachung : bezieht sich auf die Konvertierung eines mehrdimensionalen Arrays in ein eindimensionales Array. Beispiel: Reduzieren Sie das folgende Array. const arr = [1, [2, 3, [4, 5]]] // ---> [ 1, 2, 3, 4, 5 ] 1. Verwenden von flat()Die Methode flat() wurde von ES10 vorgeschlagen. Sie durchläuft das Array rekursiv in einer angegebenen Tiefe, fügt alle Elemente mit den Elementen im durchlaufenen Unterarray zu einem neuen Array zusammen und gibt es zurück. (flach bedeutet „horizontal; flach“) const result1 = arr.flat(Infinity) // gibt die Tiefe als unendlich an console.log(result1) // [ 1, 2, 3, 4, 5 ] const result2 = arr.flat(1) // Tiefe als 1 angeben console.log(Ergebnis2) // [ 1, 2, 3, [ 4, 5 ] ] const result3 = arr.flat(2) // gibt die Tiefe auf 2 an console.log(Ergebnis3) // [ 1, 2, 3, 4, 5 ] 2. Verwenden Sie reguläre AusdrückeDie mit den folgenden Methoden erhaltenen Array-Elemente werden in Zeichenfolgen konvertiert, was nicht empfohlen wird. const result1 = JSON.stringify(arr).replace(/\[|\]/g, '').split(',') console.log(result1) // [ '1', '2', '3', '4', '5' ] Array-Elemente werden in Strings umgewandelt Optimieren Sie die oben genannten Methoden; const result2 = JSON.parse('[' + JSON.stringify(arr).replace(/\[|\]/g, '') + ']') console.log(Ergebnis2) // [ 1, 2, 3, 4, 5 ] 3. Verwenden Sie reduce()+concat()
Funktion flatten(arr) { return arr.reduce((vorher, aktuell) => { returniere pre.concat(Array.isArray(aktuell) ? flatten(aktuell) : aktuell) }, []) } const Ergebnis = flatten(arr) console.log(Ergebnis) // [ 1, 2, 3, 4, 5 ] 4. Verwenden Sie Funktionsrekursion
const Ergebnis = [] Funktion exec(arr) { arr.fürJeden(Element => { wenn (Array.isArray(item)) { exec(Element) } anders { Ergebnis.push(Element) } }) } exec(arr) console.log(Ergebnis) // [ 1, 2, 3, 4, 5 ] 5. Verwenden Sie den Spread-Operator + concat()
some()-Methode: Testet, ob es im Array mindestens ein Element gibt, das den bereitgestellten Funktionstest besteht (es gibt einen booleschen Wert zurück). Funktion flatten(arr) { während (arr.some(item => Array.isArray(item))) { arr = [].concat(...arr) } Rückflug an } const Ergebnis = flatten(arr) console.log(Ergebnis) // [ 1, 2, 3, 4, 5 ] ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung zum schnellen Erstellen einer Blog-Website mit Docker
>>: Wie kann MySQL das Löschen und Weglaufen von Datenbanken wirksam verhindern?
Inhaltsverzeichnis 1. Grundlegende Konzepte SÄURE...
Inhaltsverzeichnis Hintergrund Zieleffekt Ideen e...
Inhaltsverzeichnis 1. Einleitung 1. Was ist ein I...
Um den Inhaltstyp zu lernen, müssen Sie zunächst ...
Inhaltsverzeichnis 1. Docker installieren 2. Inst...
Viele Mobiltelefone verfügen mittlerweile über di...
Temporäre MySQL-Tabellen sind sehr nützlich, wenn...
Inhaltsverzeichnis 1. Szenario 2. Grundfunktionen...
Inhaltsverzeichnis Cache Klassifizierung des Cach...
Effektbild: Vorwort: Kürzlich arbeitete ich an ei...
In einer komplexen Tabellenstruktur erstrecken si...
Inhaltsverzeichnis Vorwort Endlosschleife in For-...
Im vorherigen Artikel haben wir die MySQL-Optimie...
Mybatis Paging-Plugin pageHelper - ausführliche E...
Inhaltsverzeichnis Prinzip Quellcodeanalyse Deleg...