Ich möchte herausfinden, wie viele Elemente sich in meinem JSON-Objekt befinden. Ich habe viele Antworten gesehen, aber alle befassen sich mit einem gemeinsamen Wert, den man durchlaufen muss. Ich möchte, dass die Ergebnisse mir sagen, dass dieses Objekt 2 Elemente enthält. Jede Hilfe wäre toll!

[{"manager_first_name":"jim","manager_last_name":"gaffigan"}]
0
Austin Lovell 8 Dez. 2013 im 20:13

3 Antworten

Beste Antwort

Sie können Object.keys in verwenden neuere Browser. Es würde ein Array aller Schlüssel im Objekt zurückgeben, und dieses Array würde eine Längeneigenschaft haben, die Ihnen sagt, wie viele Elemente sich im Objekt befinden:

var arr = [{"manager_first_name":"jim","manager_last_name":"gaffigan"}];

var length = Object.keys(arr[0]).length;

GEIGE

In nicht unterstützten Browsern müssen Sie iterieren

var arr = [{"manager_first_name":"jim","manager_last_name":"gaffigan"}];
var i = 0;

for (var key in arr[0]) i++;

GEIGE

2
adeneo 8 Dez. 2013 im 16:14

Versuchen

var jsonArr = [{"manager_first_name":"jim","manager_last_name":"gaffigan"}];
var itemCount = JSON.stringify(jsonArr).split('":"').length - 1;

Dies ist natürlich eine ziemlich grobe (und unzuverlässige) Methode, aber wenn Sie nur die Anzahl der Elemente möchten, sollte dies wie ein Zauber wirken.

0
tewathia 8 Dez. 2013 im 16:43

Du kannst das:

var arr = [{"manager_first_name":"jim","manager_last_name":"gaffigan"}],
length = 0,
obj = arr[0]; // Get first obj from array

for(var k in obj){
    if( obj.hasOwnProperty(k) ) {
        length++;
    }
}
console.log(length); // Shows 2

Sie sollten hasOwnProperty verwenden, da Sie ein Objekt auch mit Funktionen erweitern können. Andernfalls können auch Schlüssel gezählt werden.

Links:

0
Niels 8 Dez. 2013 im 16:19