„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie glätte ich verschachtelte Objekte mit einer einzeiligen Lösung?

Wie glätte ich verschachtelte Objekte mit einer einzeiligen Lösung?

Veröffentlicht am 09.11.2024
Durchsuche:474

How to Flatten Nested Objects with a One-Line Solution?

Einzelne Lösung zum Reduzieren verschachtelter Objekte

Im Bereich der Datenmanipulation ist das Reduzieren verschachtelter Objekte eine häufige Aufgabe. Möglicherweise müssen Sie ein komplexes Objekt mit mehreren Verschachtelungsebenen in ein einfacheres Objekt mit einer einzigen Ebene von Schlüsseln und Werten umwandeln. Ein effizienter Ansatz besteht darin, einen prägnanten Einzeiler zu verwenden:

Object.assign({}, ...function _flatten(o) { return [].concat(...Object.keys(o).map(k => typeof o[k] === 'object' ? _flatten(o[k]) : ({[k]: o[k]})))}(yourObject))

Lassen Sie uns diesen Einzeiler aufschlüsseln:

  • Die Voraussetzung besteht darin, das Objekt rekursiv zu durchlaufen und ein verschachteltes Array zu erstellen Objekte mit einer Eigenschaft.
  • Die Object.assign-Methode wird dann verwendet, um diese Objekte zu einem einzigen abgeflachten Objekt zu kombinieren Objekt.
  • Die _flatten-Funktion ist ein rekursiver Helfer, der in verschachtelte Objekte absteigt und Objekte mit einer Eigenschaft basierend auf Schlüssel-Wert-Paaren erstellt.
  • Dieser Prozess wird fortgesetzt, bis alle verschachtelten Objekte abgeflacht wurden.

Um diesen Einzeiler zu verwenden, übergeben Sie einfach Ihr verschachteltes Objekt an den Platzhalter „yourObject“. Auf das resultierende reduzierte Objekt kann als Ausgabe des Ausdrucks zugegriffen werden.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729573516 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3