Javascript 使用多个循环访问多维数组中的所有元素。为什么这是未定义的?

Javascript 使用多个循环访问多维数组中的所有元素。为什么这是未定义的?,javascript,arrays,for-loop,multidimensional-array,Javascript,Arrays,For Loop,Multidimensional Array,这是我所拥有的,我有一个三维数组,其中有我名字的变体。整个事情看起来是这样的 var array = [['kenny', 'Kenney'],['ken','Ken'],['kenneth', 'Kenneth']]; 现在,从我所知道的来看,这没有什么问题,但接下来我想做的就是。我只是想利用for循环一次遍历所有这些元素,这样所有这些元素都会显示出来。这是我为自己写的 for(var i = 0; i < array.length; i++) { for(var j = 0;

这是我所拥有的,我有一个三维数组,其中有我名字的变体。整个事情看起来是这样的

var array = [['kenny', 'Kenney'],['ken','Ken'],['kenneth', 'Kenneth']];
现在,从我所知道的来看,这没有什么问题,但接下来我想做的就是。我只是想利用for循环一次遍历所有这些元素,这样所有这些元素都会显示出来。这是我为自己写的

for(var i = 0; i < array.length; i++) {
    for(var j = 0; j < array.length[i]; j++) {
        for(var k = 0; k < array.length[i][j]; k++) {
            console.log(array[i][j][k]);
        }
    }
};
for(变量i=0;i

返回的是未定义的。我到底做错了什么?先谢谢你们,伙计们

您将索引放在了错误的位置:

for(var i = 0; i < array.length; i++) {
    for(var j = 0; j < array[i].length; j++) {
        for(var k = 0; k < array[i][j].length; k++) {
            console.log(array[i][j][k]);
        }
    }
}
for(变量i=0;i

最后的循环是不需要的,因为它将遍历每个项目中的单词,逐字打印每个元素。

这里有两个问题。首先,你试着去3个“层次”,就像这是一个三维数组,但它只是二维的

您还需要执行
array[i].length
而不是
array.length[i]

var数组=[
[“肯尼”,“肯尼”],
['ken','ken'],
[肯尼思,肯尼思]
];
对于(var i=0;i};必须将第一个数组的每个元素视为一个数组

var array = [['kenny', 'Kenney'],['ken','Ken'],['kenneth', 'Kenneth']];

for (var i=0; i<array.length; i++) {
    for (var j=0; j < array[i].length; j++) {
        console.log(array[i][j]);
    }
}
var数组=[['kenny','Kenney'],['ken','ken'],['kenneth','kenneth'];

对于(var i=0;i而言,使用
forEach
更清晰:

var数组=[['kenny','Kenney'],['ken','ken'],['kenneth','kenneth'];
array.forEach(函数(子数组){
子数组.forEach(函数(名称){
console.log(名称);
});

});
上面的数组是二维的,您正在进行三维访问。如果示例被封装在
[[…]]]]
中,则代码将起作用。对于循环,您只需执行2次复制粘贴操作代码,但是,是的,只需要两次