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
变量将保存循环的最后一个结果,并将打印在
标记中。