2017-01-14 2 views
0

ich habe:Zählen Anzahl der Eigenschaften Innen Objekte in einem Array

var obj = [{"name":"doop"}, {"name": "coop"}, {"name": "woof"}] 

Ich mag würde, wie viele Eigenschaften sind (es sollte nur ein für jeden sein, in diesem Beispiel in jedem Objekt zählen

. ich habe versucht:.

/* function getEnteriesPerRowCount(_obj){ 
    _obj.forEach(function(element){ 
    console.log("checking objects") 
    element.forEach(function(prop){ 
     console.log("checking prop") 
    }) 
    }) 
} */ 

welche von dem, was ich so gelesen, auf nicht funktionieren, da ich nicht genau am angibt, welche Eigenschaft im element.forEach Das Programm am fi stoppen erste Iteration von checking objects

+1

Verwenden 'Object.keys()', um das Array zu erhalten von Schlüsseln in einem Objekt. 'arr.forEach (Funktion (obj) {console.log (Object.keys (Obj) .length);});' – Tushar

+0

Ah vielen Dank. funktioniert super. Ich habe mich gefragt, ob es eine geschachtelte Schleife gibt, die es auch macht. – gxminbdd

+0

Warum willst du eine verschachtelte Schleife? Wenn Sie sich die [polyfill for Object.keys] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/keys#Polyfill) ansehen, werden Sie sehen, dass Sie es technisch gesehen haben eine verschachtelte Schleife schon: p –

Antwort

0

var obj = [{"name":"doop"}, {"name": "coop"}, {"name": "woof"}] 
 

 
obj.map(function (each){ 
 
console.log(Object.keys(each).length); 
 
});

0

A hasOwnProperty Prüfung erforderlich an Ort und Stelle sein, sonst würde es nicht funktionieren

function getEnteriesPerRowCount(_obj){ 
    _obj.forEach(function(element){ 
    console.log("checking objects") 
    console.log(element) 
    for (var property in element){ 
     if (element.hasOwnProperty(property)) { 
     console.log("has prop") 
     } 
    } 
    }) 
    } 
+1

verwenden würden, wenn Sie wollen um Eigenschaften in der Prototypkette zu zählen –

Verwandte Themen