提问者:小点点

交替值时显示


我有一个数组包含玩家的名字,我想按照数组的顺序显示每个问题中玩家的名字,例如arrnames['mark','john','jay'],我想和问题1的mark,问题2的john一起显示。

这是我正在尝试的,但我只得到数组中的最后一个值,我如何修复它?

const names = [];
var counter = 0;
const limit = 4 * localStorage.getItem('playersNum');

nextBtn.addEventListener('click', function() {
  if(counter < limit) {
    // Display player's name and ask question
    for (let i = 0; i < names.length; i++) {
        const playerName = document.getElementById('card-title');
        playerName.innerText = names[i];
        console.log(names);
    }
    const h6 = document.getElementById('h6');
    h6.innerHTML = "Question " + (counter + 1);
    nextBtn.innerHTML = "Next";
    // Randomely pick a question from the array
    randomItem = questions[Math.floor(Math.random()*questions.length)];
    random = document.getElementById('questions');
    random.innerText = randomItem;
    counter++; 
  } else {
    alert('No more questions !')
  }
});

共1个答案

匿名用户

改变

// Display player's name and ask question
for (let i = 0; i < names.length; i++) {
  const playerName = document.getElementById('card-title');
  playerName.innerText = names[i];
  console.log(names);
}

const playerName = document.getElementById('card-title');
playerName.innerText = names[counter];

为什么,因为它循环所有名称,而不管counter的当前值如何,所以您只能看到姓。