大家好,我是JS的新手,所以我的问题对你来说似乎微不足道。 我想重写$ .each()循环到for循环
这是我的代码:
var students=[
{
"roll": 101,
"name": "Ben",
"emailId":"ben@gmail.com"
},
{
"roll": 102,
"name": "Ian",
"emailId":"ian@gmail.com"
},
{
"roll": 103,
"name": "Caroline",
"emailId":"carol@gmail.com"
}
];
$.each(students,function(i,v){
$('p.listofstud').append(v.roll + " " + v.name + " " + v.emailId + "<br/>");
});
当我重写它时,我得到[object Object]所有属性都在一行中(我更喜欢一行中的每三个属性)。
for (var i=0,len=students.length;i<len;i++) {
for (var property in students) {
$('p.listofstud').append(students[property] + " ");
}
}
你可以提前帮助我吗:)
答案 0 :(得分:1)
在for循环中引用students
数组时,您应该引用students[i]
,就像在追加参数列表中应该students[i][property]
for (var i = 0, len = students.length; i < len; i++){
for (var key in students[i]){
$('p.listofstud').append(students[i][key] + " ");
}
$('p.listofstud').append("<br/>");
}
在每个循环结束时,您需要添加一个换行符,因为这样可以为您提供所需的格式,让每个学生的参数分开。
原始in students
表单的问题在于您试图获取学生数组中的键,而不是一个给定学生的数组。