我看过其他问题,所有示例如下
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
最佳答案
同一项目中不能同时有值和数组。
要使用插入数字索引的命名属性,请使用对象而不是数组。
将对象作为属性,然后可以在该对象中放置属性:
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";
数组也是一个对象,因此您可以使用数组并将属性放入其中,但这通常会造成混淆。