現在オブジェクトをループしようとしていますが、そのオブジェクトにはオブジェクトと配列が混在しています。オブジェクト内の動的キーをループすると配列内に出力されないようです
オブジェクトオブジェクトをループ
var templateObject = {
"addressbook": {
"streetaddress": ["streetaddress1", "1"],
"country": ["country", "2"]
},
"companyname": ["thecompanyname", "1"],
"email": ["theemail", "1"]
};
、それはだ、私たちは常にオブジェクトにあるキーの名前を知ることができませんので、私は
for(var prop in templateObject)
{
document.write(prop);
if(templateObject.hasOwnProperty(prop))
{
for(var subItem in templateObject[prop])
{
var currentItem = templateObject[prop][subItem];
document.write('<b>' + currentItem[0] + '</b><br/>');
document.write(currentItem[1]);
document.write('<hr/>');
}
}
}
ループにそれらをしようとしています現在返されている: -
アドレス帳アドレス1国2会社名th 1未定義 メールth 1未定義
私は問題なくアドレス帳オブジェクトを取得できるようですが、会社名やメールアドレスを取得して画面に表示することはできません。
私は私がここにもフィドル用意しました
しばらくの間、このいずれかで苦労してきたとして、誰かがこれで私を助けることができる願っています:事前にhttps://jsfiddle.net/dimmers/97mqke0f/
感謝を
あなたは、あなたがオブジェクトのプロパティを見つけた場合、再帰関数を呼び出し、関数にループをひそかにする必要があります。 – RobG