我试图用其他答案解决我的错误,但失败了。我有一个我认为是二维数组的简单示例,但它不断返回我未定义的错误。
var city = 'London',
country = 'England';
var locate = [];
locate['London']['England'] = ['Jhon','Mike'];
for (i = 0; i < locate[city][country].length; i++) {
console.log(locate[city][country][i]);
}
jsbin http://jsbin.com/pixeluhojawa/1/
在此示例中我做错了什么,感谢您的帮助。
最佳答案
在为locate['London']['England']
分配值之前,必须确保locate['London']
是一个对象:
var locate = {};
locate['London'] = {};
locate['London']['England'] = ['Jhon','Mike'];
请注意,我是如何使用对象文字(
{}
)而不是数组文字([]
)的。数组不支持这样的字符串键。您需要改为使用对象。您也可以这样声明它:
var locate = {
London:{
England:["Jhon","Mike"]
}
}
关于javascript - JavaScript二维数组未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25522307/