I´m trying to output the array fields of an array with ist in an Array (More dimensional array). It seems .length does not work in the second array.
Thanks for help!
cheers, toni
<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>
You can create the whole thing in one go using an “object literal”:
Note how the braces indicate the type of object –
[ ... ]for a linear array,{ ... }for a “normal” Javascript object.Your
data:fields use numeric indices and so should be arrays rather than objects, so use[ ... ]syntax.