gpt4 book ai didi

javascript - 将对象从数组添加到表中

转载 作者:行者123 更新时间:2023-12-02 14:13:10 24 4
gpt4 key购买 nike

我一直在尝试解决如何将我的 Student 对象添加到我的数组中。解决这个问题后,我尝试在 html 文件中将数组内的内容显示到表格上。

学生对象:

var Student = function (fullName, email, phone, category, groupID) {
this.fullName = fullName;
this.email = email;
this.phone = phone;
this.category = category;
this.groupID = groupID;
};

学生数组:

var studentArray = new Array(Student);

ma​​keTable函数:

function makeTable() {
var student1 = new Student("Waw","waaw","awaw","waaw","waaw");
studentArray.push(student1);
document.write("<table>");
document.write("<thead><tr><th>Full Name</th><th>Email</th><th>Phone</th><th>Category</th><th>Group</th></tr></thead>");
document.write("<tbody>");
for(i = 0; i < studentArray.length; i++){
document.write("<tr><td>" + studentArray[i].fullName +"</td><td>" + studentArray[i].email +"</td><td>" + studentArray[i].phone +"</td><td>" + studentArray[i].category +"</td><td>" + studentArray[i].groupID +"</td></tr>");
}
document.write("</tbody>");
document.write("</table>");
}

HTML 文件:

<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="../script/scripts.js" type="text/javascript"></script>

</head>
<body>
<script>
makeTable();
</script>
</body>
</html>

输出:

/image/j5cnN.png

我通常用Java编程,但是,我能想象这不起作用的唯一原因是,好像我以错误的方式创建了数组,或者在将student1插入studentArray之后我的数组仍然是空的。

提前致谢。

最佳答案

javascript 是一种弱类型语言 ( more about language sthrength )

在这一行中,您没有将“Stundent”定义为数组的类型,而是将名为 Student 的对象(在您的上下文中不存在)推送到数组“studentArray”中。意味着您将 undefined 或 null 插入stundenArray。

var studentArray = new Array(Student);

如果将其更改为此,您将创建一个空数组

var studentArray = new Array();

然后它应该可以工作

因为某些浏览器会在下一行抛出异常,因为编译器不知道对象上的属性指向 null

document.write("<tr><td>" + studentArray[i].fullName +"</td><td>" + studentArray[i].email +"</td><td>" + studentArray[i].phone +"</td><td>" + studentArray[i].category +"</td><td>" + studentArray[i].groupID +"</td></tr>");

关于javascript - 将对象从数组添加到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39312458/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com