配列の配列フィールドを配列(より次元の配列)で出力しようとしています。 .lengthは2番目の配列では動作しないようです。Javascript:forループを使用して配列に配列を出力する方法
ありがとうございました!
歓声、トニ
<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
var Mitarbeiter = new Array();
Mitarbeiter[0] = new Object();
Mitarbeiter[0]["Name"] = "Hotels";
Mitarbeiter[0]["data"] = new Object();
Mitarbeiter[0]["data"][0] = "Ort 1";
Mitarbeiter[0]["data"][1] = "Ort 2";
Mitarbeiter[1] = new Object();
Mitarbeiter[1]["Name"] = "Restaurants";
Mitarbeiter[1]["data"] = new Object();
Mitarbeiter[1]["data"][0] = "Ort 2";
Mitarbeiter[1]["data"][1] = "Ort 4";
for (var i = 0; i < Mitarbeiter.length; i++) {
document.write("<b>" + i + " : " + Mitarbeiter[i]["Name"] + "</b><br />");
//works
alert (Mitarbeiter[0]["data"][i]);
// works not
for (var f = 0; f < Mitarbeiter[i]["data"].length; f++){
document.write("<br/> " + Mitarbeiter[i]["data"][f]);
}
}
</script>
</body>
</html>
これは、["data"] = new Object();という呼び出しが原因です。 。 ["data"] = new Array();が必要です。または単に:["data"] = [];それ以外の場合はオブジェクトです。 –
'Mitarbeiter [0] [" data "] = new Object();' - あなたは 'new Array()'を意味しますか? –
@ブラッド・ノー、彼は '... = [];'を意味しました。 – Alnitak