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?
Verifizierungsumgebung: [root@~~/]# rpm -qa | gre...
1. Was ist Docker Secret 1. Szenariodarstellung W...
Inhaltsverzeichnis Vorwort Anwendung Filter Ziehe...
Suchen Sie das Installationsverzeichnis von Virtu...
Inhaltsverzeichnis Hierarchie des Tomcat-Klassenl...
Definieren eines Arrays in Bash Es gibt zwei Mögl...
Einführung In diesem Artikel wird beschrieben, wi...
【Autor】 Liu Bo: Leitender Datenbankmanager im Ctr...
Problemdatensatz Heute wollte ich ein kleines Bau...
Verwandte Artikel: Installieren Sie Docker mit yu...
Sicht: Ansichten in MySQL haben viele Ähnlichkeit...
Hintergrund In einer Liste wie der folgenden erfo...
Heute zeige ich Ihnen einen Neon-Button-Animation...
Wie in der folgenden Abbildung dargestellt, ist e...
Vorwort Die meisten Benutzer führen diesen Vorgan...