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?
Einführung in Nginx Nginx ist ein leistungsstarke...
Was sind Slots? Wir wissen, dass in Vue nichts in...
In diesem Artikel erfahren Sie die Lösung für das...
In diesem Artikelbeispiel wird der spezifische Co...
Die Seitenlänge im Projekt beträgt etwa 2000 Pixe...
Frage Durch Klicken auf ein Steuerelement wird ei...
•Es gibt viele Selektoren in CSS. Was passiert, w...
Zusammenfassung: Problemlösungsaufzeichnungen von...
In diesem Artikel wird das grafische Tutorial zur...
1. Aktualisieren Sie die gesamte Tabelle. Wenn de...
Vorwort echarts ist mein am häufigsten verwendete...
1. Server-Setup Das Remote-Repository unterscheid...
Wie oben gezeigt, sind Füllwerte zusammengesetzte...
Es handelt sich dabei ausschließlich um Webseiten...
Inhaltsverzeichnis 1. Das ursprüngliche Array wir...