簡體   English   中英

遍歷2d數組並列出所有條目

[英]Iterate through a 2d Array and listing all of the entries

我有一個遍歷2d數組的函數,每個數組都有一首歌和一個解釋器,並且該函數應該運行一個循環並使用其解釋器列出每首歌曲。 問題是它只列出了最后一首歌和解釋器,我想念什么,所以它列出了所有這些?

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>";

這是一種方法。 希望這可以幫助。

 const twoDArray = [ ["I did it my way", "Frank Sinatra"], ["Respect", "Areta Franklin"], ["Imagine", "John Lennon"] ]; const ul = document.querySelector('ul'); twoDArray.forEach(pair => { const li = `<li>${pair[0]} by ${pair[1]}</li>`; ul.insertAdjacentHTML('beforeend', li); }) 
 HTML: <ul id="2d"> </ul> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM