繁体   English   中英

仅显示二维数组中的第一个元素

[英]display only the first elements in a 2d array

我试图只显示二维数组中的第一个元素,但它只显示第二个 arrays 第一个元素。 我该怎么做呢?

var foods = [
  ["name", "category", "servingOz", "calories_serving"],
  ["name2", "category2", "servingOz2", "calories_serving2"],
];

function getfoodNames() {
  for (i = 0; i < foods.length; i++) {
    for (j = 0; j < foods[i].length; j++) {
      document.getElementById("foods").innerHTML = foods[i][0].toString();
    }
  }
}

在 for 循环的每一次传递中,您都将覆盖 food 元素的 innerHTML。 所以只展示最后一个。

您应该使用 += 操作:

document.getElementById('foods').textContent += foods[i][0];

我建议不要使用innerHTML,因为它很危险。

更新

我刚刚注意到内部 for 循环是不必要的,因此您可以完全删除它:

for(let i=0; i < foods.length; i++) {

    document.getElementById('foods').textContent += foods[i][0];

}
for (i=0; i<foods.length; i++) {
   document.getElementById('foods').innerHTML += foods[i][0].toString();
}

我的建议:

 var arr = [ ["name", "category", "servingOz", "calories_serving"], ["name2", "category2", "servingOz2", "calories_serving2"] ]; arr.forEach(el => foods.innerText += ' ' + el[0]);
 <div id="foods"></div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM