In JavaScript können Objekte mit geschweiften Klammern {} erstellt werden. Dies wird als Objektliteral bezeichnet. Objektliterale können Eigenschaften und Methoden enthalten.
Beim Reduzieren wird ein Objekt auf ein Objekt mit einer einzigen Tiefe reduziert. Mit anderen Worten: Alle Eigenschaften und Methoden des Objekts sind in einem einzigen Tiefenobjekt enthalten.
Es gibt mehrere Möglichkeiten, Objekte zu glätten.
Für...in-Schleife verwenden
Die for...in-Schleife kann verwendet werden, um die Eigenschaften eines Objekts zu durchlaufen. Für jede Eigenschaft können wir sie einem neuen Objekt hinzufügen.
Unten ist ein Codeausschnitt, der eine for...in-Schleife verwendet, um ein Objekt zu reduzieren.
<!doctype html> <html> <head> <title>Example - flatten an object</title> </head> <body> <div id="result1">Original Object: </div> <div id="result2">Flatten Object: </div> <script> var obj = { "a": 1, "b": 2, "c": { "d": 3, "e": 4 } }; var newObj = {}; for (var key in obj) { if (typeof obj[key] === "object") { for (var subKey in obj[key]) { newObj[subKey] = obj[key][subKey]; } } else { newObj[key] = obj[key]; } } document.getElementById("result1").innerHTML += JSON.stringify(obj) document.getElementById("result2").innerHTML += JSON.stringify(newObj) console.log(newObj); </script> </body> </html>
Im obigen Code haben wir ein Objektliteral namens obj deklariert. Dann deklarieren wir ein leeres Objektliteral mit dem Namen newObj. Wir verwenden eine for...in-Schleife, um die Eigenschaften von obj zu durchlaufen. Für jedes Attribut prüfen wir, ob der Attributwert ein Objekt ist. Wenn der Eigenschaftswert ein Objekt ist, verwenden wir erneut eine for...in-Schleife, um die untergeordneten Eigenschaften des Eigenschaftswerts zu durchlaufen.
Für jede Untereigenschaft fügen wir sie dem newObj-Objekt hinzu, mit dem Namen der Untereigenschaft als Schlüssel. Wenn der Eigenschaftswert kein Objekt ist, fügen wir die Eigenschaft zum newObj-Objekt hinzu und verwenden dabei den Eigenschaftsnamen als Schlüssel. Schließlich protokollieren wir newObj in der Konsole.
Das Abflachen von Objekten hat mehrere Vorteile. Einige von ihnen sind -
Wenn ein Objekt reduziert wird, sind alle Eigenschaften und Methoden in einem Objekt enthalten. Dies erleichtert den Zugriff auf Eigenschaften und Methoden.
Wenn ein Objekt reduziert wird, sind die Daten in einem einzelnen Objekt enthalten. Dies erleichtert die Manipulation der Daten.
Wenn ein Objekt abgeflacht ist, kann es problemlos serialisiert werden. Bei der Serialisierung werden Objekte in ein Format umgewandelt, das gespeichert oder übertragen werden kann.
Das Abflachen von Objekten hat einige Nachteile. Einige von ihnen sind -
Wenn ein Objekt reduziert wird, kann es zu Datenredundanz kommen. Datenredundanz bedeutet, dass dieselben Daten an mehreren Orten gespeichert werden.
Wenn ein Objekt flach ist, kann es schwierig sein, es zu pflegen. Dies liegt daran, dass alle Eigenschaften und Methoden in einem Objekt enthalten sind.
Zusammenfassend ist Abflachen der Vorgang, bei dem ein Objekt auf ein Objekt mit einer einzigen Tiefe reduziert wird. Es gibt mehrere Möglichkeiten, ein Objekt zu reduzieren. Zu den Vorteilen des Reduzierens von Objekten gehören der einfache Zugriff auf Eigenschaften, die einfache Bearbeitung von Daten und die einfache Serialisierung. Flache Objekte weisen Mängel wie Datenredundanz und Wartungsschwierigkeiten auf.
Das obige ist der detaillierte Inhalt vonWie reduziere ich ein JavaScript-Objekt in ein Objekt mit einfacher Tiefe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!