为什么在jquery(javascript)中创建multidimesional数组时我得到了未定义?

时间:2015-10-12 09:47:24

标签: jquery arrays each

我想创建一个多维数组并循环遍历它。我知道这是可能的,因为我已经读过它,但我仍然无法理解为什么这不起作用......

var bundeslan = [
    ["city1"][19161],
    ["city2"][19162],
    ["city3"][19162]
];

console.log(bundeslan);     

我想将每个城市与一个数字相关联,并使用该数字来识别div。

我的想法是像这样循环遍历数组......

//Start main loop
 $.each(bundeslan, function( key, value ) {

     //Inner loop
     $.each(key, function(innerKey, innerValue){
         alert(innerValue);
     });

 });

但是为什么我会在[undefined][undefined][undefined]?{/ p>中强调console.log(bundeslan)等...

3 个答案:

答案 0 :(得分:2)

存在语法错误。这样做。

var bundeslan = [
    [["city1"],[19161]],
    [["city2"],[19162]],
    [["city3"],[19162]]
];

这将为您提供所需的结果

$.each(bundeslan, function( key, value ) {
     //Inner loop
     console.log(value[1][0]);

 });

答案 1 :(得分:1)

数组定义的语法不太正确,请尝试:

var bundeslan = [
    ["city1", 19161],
    ["city2", 19162],
    ["city3", 19162]
];    
console.log(bundeslan);  

我还建议不要使用二维数组。如果需要关联数组,请使用对象:

var bundeslan = {
    city1: 19161,
    city2: 19162,
    city3: 19162
};    
console.log(bundeslan);

答案 2 :(得分:0)

多维数组应该看起来像这样

var items = [[1,2],[3,4],[5,6]];

您的代码块看起来不对。

var bundeslan = [
[["city1"],[19161]],
[["city2"],[19162]],
[["city3"],[19162]]

];

console.log(bundeslan);