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?
So schreiben Sie Konfigurationsdateien und verwen...
Inhaltsverzeichnis 1. Oberflächliche Kopie 1. Obj...
Der Erste: Verwenden der CSS-Positionseigenschaft...
Ich habe kürzlich bei einem praktischen Trainings...
Vorwort Anwendungsszenario: Wahrscheinlich muss d...
Nach der Installation von Jenkins schlägt der ers...
Inhaltsverzeichnis 1. Listendurchlauf 2. Die Roll...
Ich glaube, dass das Internet zu einem immer unve...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. Ursache 2. Geräteinformatio...
Webserver 1. Der Webserver schaltet unnötige IIS-...
Vorwort Dockerfile ist ein vom Docker-Programm in...
Vorwort Unter Linux ist zum Kompilieren und Verkn...
1. Anwendung von Multimedia in HTML_Flash-Animati...
Hintergrund: Ich möchte einen SAP ECC Server inst...