javascript - 迭代二维数组并列出所有条目

标签 javascript loops multidimensional-array

我有一个迭代二维数组的函数,每个数组都有一首歌曲和一个解释器,该函数应该运行一个循环并列出每首歌曲及其解释器。问题是它只列出了最后一首歌曲和翻译,我错过了什么所以它列出了所有这些?:

HTML:

<ul id="2d"> </ul>

JS

var twoDArray = [
  ["I did it my way", "Frank Sinatra"],
  ["Respect", "Areta Franklin"],
  ["Imagine", "John Lennon"]
];

function iterative( songs ) {
  for ( var i = 0; i < songs.length; i += 1) {
    document.getElementById("2d").innerHTML =  "<li>" + songs[i][0] + " by " + songs[i][1] + "</li>";
 }
}

iterative(twoDArray);

最佳答案

那是因为你每次循环时都设置innerHtml,所以除了最后一次之外,它每次都会覆盖自己。你想这样做

  document.getElementById("2d").innerHTML +=  "<li>" + songs[i][0] + " by " + songs[i][1] + "</li>";

关于javascript - 迭代二维数组并列出所有条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40410846/

相关文章:

javascript - 在 D3 中补间转换后更新 textPath

javascript - 如何从最近的列表项中提取 "href"属性值

javascript - JavaScript 中 != 和 !== 运算符有什么区别?

c++ - int[n][n] 和 int** 的关系

javascript - 包含对象的两个 js 数组的完全外连接 - 连接的数组包含新属性 'action'(添加/删除/编辑/相同)

loops - SBCL 循环中没有 Consing

javascript - 循环中的数组

javascript - 使用 for 循环方法打印/记录数组中的对象

python - 如何将多个图像填充到包含所有图像的最小形状?

python - Numpy 沿新轴重复数组