Tengo esta función y quiero agregar estos elementos en mi lista de arreglos. Sé que data.push (...) no es correcto, entonces, ¿cuál es la forma correcta?
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" } ]Supongo que desea insertar todos estos valores como un objeto en la matriz de datos. Podrías lograrlo haciendo lo siguiente. Al dar a las variables el mismo nombre que las claves en el objeto, puede omitirlo.
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}); }Prueba esto:
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 }); }Tal vez pueda usar una función que agregue según los identificadores de elementos almacenados en una matriz. Los errores no se manejan.
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" } ]