我见过其他问题,所有例子如下所示
var arr = [1, 2, [3, 4], 5];
alert (arr[2][1]);
但是我想要点什么呢
var mmo = [];
mmo["name"] = "steve";
mmo["name"]["x"] = "20";
mmo["name"]["y"] = "40";
alert(mmo["name"]["y"]); // should alert 40 but its undefined
答案 0 :(得分:2)
您不能在同一个项目中同时拥有值和数组。
使用对象而不是数组,因为您想使用带有数字索引的命名属性。
将对象作为属性,然后可以将属性放在该对象中:
var mmo = {};
mmo["name"] = {};
mmo["name"]["x"] = "20";
mmo["name"]["y"] = "40";
如果要在对象中使用数组,则可以使用数字索引:
var mmo = {};
mmo["name"] = [];
mmo["name"][0] = "20";
mmo["name"][1] = "40";
如果要在数组中使用数组,则它们都是数字索引:
var mmo = [];
mmo[0] = [];
mmo[0][0] = "20";
mmo[0][1] = "40";
数组也是一个对象,所以你可以使用数组并在其中放置属性,但这大多令人困惑。