Javascript 通过多维数组最内层循环进行循环
我最终尝试创建一个函数,该函数根据二维(?)数组中的值生成一些html。然而,我正在努力循环所有的值。在下面的代码中,我的程序从未进入底部的Javascript 通过多维数组最内层循环进行循环,javascript,Javascript,我最终尝试创建一个函数,该函数根据二维(?)数组中的值生成一些html。然而,我正在努力循环所有的值。在下面的代码中,我的程序从未进入底部的else子句: let food = [ [ 'Wedges', ['Hero Wedge', "Lettuce, tomato, yada", '$19.42'], ['Differebt Wedge', "Chicken, tomato, yada", '$12.42'], ], [ 'Chicken',
else
子句:
let food = [
[
'Wedges',
['Hero Wedge', "Lettuce, tomato, yada", '$19.42'],
['Differebt Wedge', "Chicken, tomato, yada", '$12.42'],
],
[
'Chicken',
['Chicken', "Lettuce, tomato, yada", '$19.42'],
['Brocolli Wedge', "Chicken, tomato, yada", '$12.42'],
]
]
generate(food);
function generate(food){
for(i = 0; i < food.length; i++){
for(j = 0; j < food[i].length; j++){
if(j === 0){
sectionName = food[i][j]; // "Wedges"
}
else{
for(y = 0; y < food[i][j]; y++){
console.log("were in this statment"); //Never runs
}
}
}
}
}
let food=[
[
“楔子”,
[‘英雄楔’、‘生菜、西红柿、雅达’、‘19.42美元’],
[‘Differebt Wedge’、‘鸡肉、番茄、雅达’、‘12.42美元’],
],
[
“鸡”,
[‘鸡肉’、‘生菜、西红柿、雅达’、‘19.42美元’],
['Brocolli Wedge','Chicken,tomato,yada','12.42美元'],
]
]
产生(食物);
功能(食物){
对于(i=0;i
当i=0
和j=1
不
食品[i][j]=['Hero Wedge'、“莴苣、西红柿、雅达”、“$19.42”]
?既然这是一个包含3个元素的数组,y
的值应该是真的吗?提前谢谢 您需要检查数组的长度并声明所有变量
for(y = 0; y < food[i][j].length; y++){ // use length
循环的范围为y=0
到y
小于food[i][j]
处的元素,而不是food[i][j]
其中食品[i][j]
是楔形物
因此,基本上,您的for
循环将转换为for(y=0;y
因此,将
的
中的
食物[i][j]
替换为食物[i][j]。长度,使循环为
else{
for(y = 0; y < food[i][j].length; y++) { //take the length of food[i][j]
console.log("were in this statement"); //Now runs
}
}
else{
对于(y=0;y<食物[i][j]。长度;y++){//取食物的长度[i][j]
console.log(“在此语句中”);//现在运行
}
}
这应该可以解决您的问题。
y
->y
?…您不知道我来stackoverflow之前花了多长时间试图找出问题所在。但谢谢!