在Javascript中打印出子数组的元素

时间:2013-12-21 17:53:57

标签: javascript arrays

我不明白如何在Javascript中找到子数组的长度。以下是练习中的示例:

 var table = [
["Person",  "Age",  "City"],
["Sue",     22,     "San Francisco"],
["Joe",     45,     "Halifax"]
];

我尝试使用这些for循环分别打印出子数组的元素:

for(person in table) {
    for(var i = 0; i < table[person].length; i++);
        console.log(table[person][i]);
}

但似乎

table[person].length

虽然

,但语法无效
table.length 

有效且

table[person][i]

返回子索引table_person_i

的元素

4 个答案:

答案 0 :(得分:1)

您应该使用嵌套的for循环执行此任务:

for (var i = 0; i < table.length; i++) {
    for (var j = 0; j < table[i].length; j++) {
        console.log(table[i][j]);
    }
}

答案 1 :(得分:1)

试试这个:

for (var j = 0; j<table.length; j++) 
{
     //j(th) element of table array
     for (var i = 0; i < table[j].length; i++)
     {
         //i(th) element of j(th) element array
         console.log(table[j][i]);
     }
}

答案 2 :(得分:1)

这是一个数组,而不是一个对象,所以你不能使用 for / in 循环。请改为使用常规的 for 循环。

//for (person in table) {

for (var person = 1; person < table.length; person++) {
    for(var i = 0; i < table[person].length; i++)
    {
        console.log(table[person][i]);
    }
}

答案 3 :(得分:0)

在您的示例中,您的数组是一个数组数组。 要获取人名,并根据您的示例:

for (var i = 1; i < table.length; i++)
{
 console.log(table[i][0]); // first element of each sub array
}