Ich versuche, durch die folgende Schleife:Javascript Schleife durch Objekt-Array?
{
"messages": [{
"msgFrom": "13223821242",
"msgBody": "Hi there"
}, {
"msgFrom": "Bill",
"msgBody": "Hello!"
}]
}
Ich möchte msgFrom
und msgBody
Ich habe versucht, abzurufen:
druckt for (var key in data) {
var obj = data[key];
for (var prop in obj) {
if(obj.hasOwnProperty(prop)){
console.log(prop + " = " + obj[prop]);
}
}
}
Aber das Konsolenprotokoll [Object]
Irgendwelche Ideen, was ich falsch mache?
' console.log (obj, Prop); ' – zerkms
[Sie werden in der Regel wollen um zu vermeiden, 'for..in' für' Array's zu verwenden.] (http: // stackoverflow.com/questions/500504/why-is-mit-in-mit-array-iteration-wie-a-bad-idee) –
Der einzige glaubwürdige Grund, for..in mit einem Array nicht zu verwenden, ist, dass die Eigenschaften möglicherweise nicht in der erwarteten Reihenfolge zurückgegeben werden. Ansonsten ist es nicht besser oder schlechter, als for..in auf einem anderen Objekt zu verwenden (unerwartete Eigenschaften, Eigenschaften aus dem [[[Prototyp]] ', usw.). – RobG