javascript - 我的数组的第一个元素没有显示

标签 javascript html arrays while-loop

所以这是我的 javascript 代码。当我使用浏览器的开发人员工具逐步运行它时,它从数组中获取所有元素,但只打印最后 4 个元素。我该如何解决这个问题?

function showDuties() {
  var numDuties = document.getElementById('pfJobs').value;
  var i = numDuties - 1
  var t = ""
  var pfDuties = ["Auditing", "Close out registers", "Clean free weights", 
      "Sign up new members", "File paperwork"]

  while (i >= 0) {
      document.getElementById('pfj').innerHTML = t;
      t += pfDuties[i] + "<br>";
      i--;  
  }
}

 
<script>

window.showDuties = function() {
  var numDuties = document.getElementById('pfJobs').value;
  var i = numDuties - 1
  var t = ""
  var pfDuties = ["Auditing", "Close out registers", "Clean free weights", 
      "Sign up new members", "File paperwork"]

  while (i >= 0) {
     document.getElementById('pfj').innerHTML = t;
      t += pfDuties[i] + "<br>";
       
      i--;  
  }
}

</script>


<form>
	<input type="submit" value="Click here" onclick="showDuties(); return false;"> 
	  to see my top 
	<input type="text" id="pfJobs" />
	  job duties here.
	<p id = "pfj">
	</p>
</form>

最佳答案

因为您在将元素添加到 t 之前添加了该元素。您需要在之后移动它。更好的是,不要在每次迭代时更新它,而是在循环完成时更新它。

while (i >= 0) {
  t += pfDuties[i] + "<br>";
  i--;  
}
document.getElementById('pfj').innerHTML = t;

关于javascript - 我的数组的第一个元素没有显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47357642/

相关文章:

javascript - 在react js中显示json中的键和值对

javascript - 为什么这段 html 和 javascript 代码不起作用?

javascript - HTML CSS JS具有响应宽度的多个模式图像

javascript - 如何在html中控制视频何时结束

arrays - Bigquery - 如何将两个数组压缩为一个?

javascript - 将 php 数组转换为 js 数组,并动态调整数组大小

javascript - 单击一个元素以删除其他元素类

javascript - XMLHttpRequest 无法加载 http ://example. com/test.php。没有'访问控制允许来源

javascript - 在特定轴上旋转对象并停止

JavaScript - 将多个对象存储在数组中并通过访问它们的属性