Avatar ·

Wie man die Länge (Anzahl der Eigenschaften) eines Objekts in JavaScript ermittelt?

Hallo zusammen! Ich habe gerade angefangen, JavaScript zu lernen, und bin auf ein Problem gestoßen. Arrays haben die Eigenschaft `length`, die die Anzahl der Elemente anzeigt. Aber wenn ich dasselbe mit einem Objekt versuche, erhalte ich `undefined`. Hier ist ein Beispiel: ```javascript let user = { name: 'Ivan', age: 30, city: 'Moskau' }; console.log(user.length); // undefined ``` Ich habe erwartet, `3` zu sehen, da das Objekt drei Eigenschaften hat. Aber stattdessen — `undefined`. Warum ist das so? Und wie zählt man korrekt die Anzahl der Eigenschaften in einem Objekt? Ich weiß, dass Objekte keine Arrays sind, aber ich muss dynamisch überprüfen, wie viele Felder ein Objekt enthält, zum Beispiel nach dem Hinzufügen oder Entfernen von Eigenschaften. Jede Eigenschaft manuell zu durchlaufen, ist umständlich, besonders wenn das Objekt groß ist. Könnt ihr mir bitte sagen, ob es eine eingebaute Möglichkeit gibt, die Länge eines Objekts zu erhalten? Oder muss ich einen Workaround verwenden? Vielen Dank im Voraus! <<>>

Warum haben Objekte keine length-Eigenschaft?

In JavaScript sind Arrays eine spezielle Art von Objekten, die eine `length`-Eigenschaft haben, die automatisch aktualisiert wird. Normale Objekte hingegen haben keine solche Eigenschaft, da sie nicht für geordnete, indizierte Sammlungen gedacht sind. Stattdessen sind sie für Schlüssel-Wert-Paare konzipiert, bei denen die Reihenfolge nicht garantiert ist und die Anzahl der Eigenschaften dynamisch variieren kann.