Javascript Object.keys=for循环
我正在构建一个使用localstorage输出表的动态表,我在网上找到了一些代码,现在我也在尝试找出每一行 我很难描述这段代码,我的主要问题是理解Object.key方法在做什么(我在表上有什么作用),这只是oof循环的另一种形式吗?我也很难弄清楚data.foreach(函数(对象)行对表做了什么Javascript Object.keys=for循环,javascript,Javascript,我正在构建一个使用localstorage输出表的动态表,我在网上找到了一些代码,现在我也在尝试找出每一行 我很难描述这段代码,我的主要问题是理解Object.key方法在做什么(我在表上有什么作用),这只是oof循环的另一种形式吗?我也很难弄清楚data.foreach(函数(对象)行对表做了什么 //Employee Database "Localstorage" if(localStorage.getItem("Employee") == null) { var employeeL
//Employee Database "Localstorage"
if(localStorage.getItem("Employee") == null) {
var employeeList = [];
employeeList.push (new Employee("Simon", "Male", "HR", 1999, "SM1@cbs.dk"));
employeeList.push (new Employee("Mads", "Male","IT", 1999, "MS@cbs.dk"));
employeeList.push (new Employee("Jessica", "Female", "Sales",1998, "JT@cbs.dk"));
employeeList.push (new Employee("Benjamin", "Male","IT", 1997, "BN@cbs.dk"));
var employeeListString = JSON.stringify(employeeList);
localStorage.setItem("Employee", employeeListString);
document.querySelector("#employees").appendChild(buildTable(employeeList));
} else {
var employeeList = JSON.parse(localStorage.getItem("Employee"));
}
function buildTable(data) {
// creates variable "table"
let table = document.createElement("table");
// Create table head and body
table.appendChild(document.createElement("thead"));
table.appendChild(document.createElement("tbody"));
let fields = Object.keys(data[0]);
let headRow = document.createElement("tr");
fields.forEach(function (field) {
let headCell = document.createElement("th");
headCell.textContent = field;
headRow.appendChild(headCell);
});
table.querySelector("thead").appendChild(headRow);
data.forEach(function (object) {
let row = document.createElement("tr");
fields.forEach(function (field) {
let cell = document.createElement("td");
cell.textContent = object[field];
if (typeof object[field] == "number") {
cell.style.textAlign = "left";
}
row.appendChild(cell);
});
table.querySelector("tbody").appendChild(row);
});
return table;
}
document.querySelector("#employees").appendChild(buildTable(employeeList));
MDN网站上提供了大量信息,您可以在这里找到类似问题的答案;我强烈建议您使用它
Object.keys()
方法返回给定对象自身可枚举属性名称的数组,其顺序与我们在普通循环中得到的顺序相同
forEach()
方法为每个数组元素执行一次提供的函数
<>太长了,读不下去了,这是一种不同的循环方式。关于它们之间的差异,当你可以选择一个,而他们做得比我好得多;TL;DR和方法过于简化,它的可读性和风格与性能。 < P>假设数据[0 ]包含一个像的对象。
const myDataAt0={
x:5,
y:10
};
log(Object.keys(myDataAt0));
myDataAt0['z']=15
console.log(Object.keys(myDataAt0));
数据的声明在哪里变量?啊,是的,数据是一组雇员(对象)很抱歉,我在Now中编辑了代码。如果您还没有学习Javascript基本-中间概念,那么您需要学习Javascript基本-中间概念才能理解这一点。但是,您迄今为止所学的知识似乎让您误入歧途,只教给了您具体的东西,而没有教给您核心基础知识。MDN(如回答和其他评论中所述)这是一个很好的开始,但你应该做的是尝试和研究,因为你试图知道到底该做什么