我试图用其他答案解决我的错误,但只是失败了。我有这个简单的例子,我认为它是二维数组,但它一直给我带来未定义的错误。
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/
在这个例子中我做错了什么,我将非常感谢你的帮助。
答案 0 :(得分:2)
在为locate['London']['England']
分配值之前,您必须确保locate['London']
是对象:
var locate = {};
locate['London'] = {};
locate['London']['England'] = ['Jhon','Mike'];
注意我是如何使用对象文字({}
)而不是数组文字([]
)的。数组不支持这样的字符串键。您需要使用对象。
您也可以将其声明为::
var locate = {
London:{
England:["Jhon","Mike"]
}
}