2921 Stimmen

Länge eines JavaScript-Objekts

Ich habe ein JavaScript-Objekt. Gibt es eine eingebaute oder akzeptierte bewährte Methode, um die Länge dieses Objekts zu ermitteln?

const myObject = new Object();
myObject["firstname"] = "Gareth";
myObject["lastname"] = "Simpson";
myObject["age"] = 21;

1 Stimmen

@neitony - das ist irgendwie wahr, aber so viele Leute sind an PHP's "assoziatives Array" gewöhnt, dass sie annehmen könnten, es bedeutet " bestellt assoziative Karte", wenn JS-Objekte in der Tat ungeordnet sind.

4 Stimmen

In dem obigen Beispiel ist myObject.length undefiniert, zumindest in einer Browserumgebung. Deshalb ist es ungültig, @AdrianM

3 Stimmen

Varianten von Object. { keys , values , entries } (obj).length wurden nun insgesamt 38 Mal in 16 Antworten und in den Kommentaren zu dieser Frage erwähnt, und weitere 11 Mal in 7 gelöschten Antworten. Ich denke, das ist jetzt genug.

-2voto

Paul Punkte 41

Ich hatte ein ähnliches Bedürfnis, die Bandbreite zu berechnen, die von über einen Websocket empfangenen Objekten genutzt wird. Es genügte mir, die Länge des stringifizierten Objekts zu ermitteln.

websocket.on('message', data => {
    dataPerSecond += JSON.stringify(data).length;
}

3 Stimmen

Damit ist die Frage nicht beantwortet.

-4voto

njmwas Punkte 972
var myObject = new Object();
myObject["firstname"] = "Gareth";
myObject["lastname"] = "Simpson";
myObject["age"] = 21;

var size = JSON.stringify(myObject).length;

document.write(size);

JSON.stringify(myObject)

2 Stimmen

Die Frage drehte sich um die Anzahl der Eigenschaften. Ihre Antwort zeigt nur, wie lang eine (von vielen!) serialisierte Form ist.

0 Stimmen

Eine Erklärung wäre angebracht. Sie können Ihre Antwort bearbeiten .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X