Javascript 打印数组和索引时出现问题-控制台记录所有,输出仅打印最后一个

Javascript 打印数组和索引时出现问题-控制台记录所有,输出仅打印最后一个,javascript,arrays,Javascript,Arrays,我需要在页面上打印一个带有索引的数组。控制台记录所有索引,但只打印最后一个索引。在这样的代码中: <body> <p id="answer"></p> <script> let array = [11, 22, 33, 44]; for (let value of array) { results = array.indexOf(value) + ':' + value; console.log(results);

我需要在页面上打印一个带有索引的数组。控制台记录所有索引,但只打印最后一个索引。在这样的代码中:

<body>
  <p id="answer"></p>
<script>
  let array = [11, 22, 33, 44];
  for (let value of array) {
    results = array.indexOf(value) + ':' + value;
    console.log(results);
      }
   document.getElementById("answer").innerHTML=results
</script>
</body>

让数组=[11,22,33,44]; for(数组的let值){ 结果=数组.indexOf(值)+':'+值; 控制台日志(结果); } document.getElementById(“答案”).innerHTML=results
您需要将循环内部的部分添加到
innerHTML

let数组=[11,22,33,44],
结果;
for(数组的let值){
结果=数组.indexOf(值)+':'+值;
document.getElementById(“answer”).innerHTML+=results+'
'; }

在浏览器有时间重新呈现页面之前执行所有JS代码。此时,
innerHTML
已设置为最后一个值。在每个步骤中,您都会覆盖
结果的值。循环结束时,只剩下最后一个值。在
控制台中
,您应该可以看到所有索引。但是,您的
p
将只显示最后一个值。您希望看到什么?循环完成后,执行
results
变量将保存循环的最后一个结果,并将打印在
标记中。