2015-08-14 4 views

Antwort

6

Sie können verwenden, um den Schlüssel zu erhalten, und dann den Schlüssel verwenden, um den Wert zu erhalten.

JSFiddle

var myData = [{"bg_2":"0.50"},{"bg_7":"0.10"},{"bg_12":"0.20"}]; 
 

 
for (var i = 0; i < myData.length; i++) { 
 
    var myObject = myData[i]; 
 
    var firstKey = Object.keys(myObject)[0]; 
 
    var value = myObject[firstKey]; 
 

 
    console.log(firstKey + ": " + value); 
 
}

Siehe auch: ECMAScript® Language Specification: 15.2.3.14 Object.keys (O)

+0

so vielen Dank. Ich ging hier im Kreis und Ihre Lösung ist perfekt. – dijon

3

Erweiterung auf @AR7 ‚s answer, in dem Fall, dass in jedem der Objekte mehrere Objekte sein können Sie cachen das Objekt von Object.keys() zurückgegeben und durch jede Eigenschaft innerhalb der Array-Schleife durchlaufen.

Mit der folgenden Methode können Sie eine beliebige Anzahl von Eigenschaften innerhalb des Objekts verwalten.

Ich weiß, dass dies in dieser speziellen Situation vielleicht nicht nützlicher ist als die oben erwähnte Antwort, aber hoffentlich wird es für zukünftige Zuschauer nützlich sein.

JSFiddle

var a = [ 
 
    { "bg_2":"0.50", "bg_7":"0.10", "bg_12":"0.20"}, 
 
    { "bg_2":"0.50", "bg_7":"0.10"}, 
 
    { "bg_2":"0.50"} 
 
]; 
 

 
a.forEach(function(o){ 
 
    console.log(o); 
 
    var k = Object.keys(o); 
 
    for(var i in k) 
 
     console.log(k[i], ':', o[k[i]]); 
 
});

Verwandte Themen