javascript - 为什么我的数组购物清单包含“未定义”?
问题描述
你好亲爱的开发者,
我的数组的每个值都应该在 html 列表上有自己的项目符号 - 他们这样做了。但是在实际列表开始之前有一个“未定义”。我想知道它是从哪里来的。我的代码有什么问题?
谢谢你的帮助!
HTML:
Shopping List
<ul id="list"></ul>
JS:
function letsShop(){
var array = ["milk", "cheese", "eggs"];
for (var i = 0; i < array.length; i++){
var stuff = stuff + "<li>" + array[i] + "</li>";
document.getElementById("list").innerHTML=stuff;
}}
window.addEventListener("load", letsShop);
解决方案
stuff
在循环运行undefined
之前。for
另外,每次迭代都会覆盖循环中列表的内容。
正确的方法是:
function letsShop() {
// Declare the variable outside the loop
var stuff = '';
var array = ["milk", "cheese", "eggs"];
for (var i = 0; i < array.length; i++) {
stuff = stuff + "<li>" + array[i] + "</li>";
}
// Set the contents in list after the loop
document.getElementById("list").innerHTML = stuff;
}
letsShop();
Shopping List
<ul id="list"></ul>
推荐阅读
- css - 对齐图像上方和下方的文本
- ios - Swift 中的 AVfoundation - 如何包含多种文件类型
- android - Android View Model 和 Singleton 类之间到底有什么区别
- sql - 如果日期为空,如何使 AFTER INSERT TRIGGER 将日期更改为 getdate()
- regex - 字符集中的正则表达式捕获组 ( ) [ ]
- java - @AuthenticationPrincipal 抛出异常
- javascript - 如何在数组数组中连接数组的字符串属性并在每个数组中创建一个新属性
- docker - 在 Docker 中解析服务器日志?
- c++ - 条件变量“虚假”觉醒
- python - 使用星号 (*) 运算符迭代二维列表