这就是我所拥有的,我有一个带有我名字变体的三维数组。整个事情看起来是这样的。
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]);
}
}
};
返回的内容是未定义的。我到底做错了什么?提前谢谢了,伙计们。
发布于 2017-04-07 18:03:15
这里有两个问题。首先,您试图进入3个“级别”,就好像这是一个3维数组,但它只是2维的。
您还需要执行array[i].length
而不是array.length[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]);
}
};
发布于 2017-04-07 18:02:34
您将索引放在了错误的位置:
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]);
}
}
}
不需要最后一次循环,因为这将遍历每个项目中的单词,逐字打印每个元素。
发布于 2017-04-07 18:03:21
第一个数组的每个元素都必须被视为一个数组。
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]);
}
}
https://stackoverflow.com/questions/43284413
复制