[英]How can I add items in arraylist from a function? (JavaScript)
我有这个 function,我想在我的 arraylist 中添加这些项目。我知道 data.push(...) 不正确,那么正确的方法是什么?
function addinfo(data) {
var id = document.getElementById("courseid").value;
var nm = document.getElementById("name").value;
var yr = document.getElementById("year").value;
var syll = document.getElementById("syllabus").value;
var sem = document.getElementById("semester").value;
var teach = document.getElementById("teaching").value;
data.push(id,nm,yr,syll,sem,teach);
}
var data = [
{
courseid: "1",
name: "Artificial Intelligence",
year: "2021",
syllabus: "3",
semester: "2",
teaching: "Johan"
}
]
我假设您想将所有这些值作为 object 推送到数据数组中。 您可以通过执行以下操作来实现。 通过为变量赋予与 object 中的键相同的名称,您可以将其省略。
var data = [
{
courseid: "1",
name: "Artificial Intelligence",
year: "2021",
syllabus: "3",
semester: "2",
teaching: "Johan"
}
]
function addinfo(data) {
var courseid = document.getElementById("courseid").value;
var name = document.getElementById("name").value;
var year = document.getElementById("year").value;
var syllabus = document.getElementById("syllabus").value;
var semester = document.getElementById("semester").value;
var teaching = document.getElementById("teaching").value;
data.push({courseid,name,year,syllabus,semester,teaching});
}
尝试这个:
function addinfo(data) {
data.push({
courseid: document.getElementById("courseid").value,
name: document.getElementById("name").value,
year: document.getElementById("year").value,
syllabus: document.getElementById("syllabus").value,
semester: document.getElementById("semester").value,
teaching: document.getElementById("teaching").value
});
}
也许您可以使用 function,它根据存储在数组中的元素 ID 添加。 不处理错误。
const fields = ["courseid", "name", "year", "syllabus", "semester", "teaching"];
function addinfo(anyFieldList, data) {
const dataItem = {};
for (let aField of anyFieldList){
dataItem[aField] = document.getElementById(aField).value;
}
data.push(dataItem);
}
let data = [
{
courseid: "1",
name: "Artificial Intelligence",
year: "2021",
syllabus: "3",
semester: "2",
teaching: "Johan"
}
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.