Javascript 将对象推入数组
我试图使用each循环将对象推入数组,而对象的数量最终是正确的,对象中的数据在最后一个条目中重复 当我在循环中记录对象时,它会给我两组数据,第一组是正确的,第二组是循环的最后一组数据 我曾尝试将数据记录到控制台,但它给了我非常奇怪的值Javascript 将对象推入数组,javascript,jquery,Javascript,Jquery,我试图使用each循环将对象推入数组,而对象的数量最终是正确的,对象中的数据在最后一个条目中重复 当我在循环中记录对象时,它会给我两组数据,第一组是正确的,第二组是循环的最后一组数据 我曾尝试将数据记录到控制台,但它给了我非常奇怪的值 $.getJSON(url, function(data) { var entry = data.feed.entry; var nietos = []; var obj = {}; $(entry).each(functi
$.getJSON(url, function(data) {
var entry = data.feed.entry;
var nietos = [];
var obj = {};
$(entry).each(function(){
var title = String(this.gsx$title.$t);
var lastName = String(this.gsx$lastname.$t);
var firstName = String(this.gsx$firstname.$t);
var email = String(this.gsx$email.$t);
var department = String(this.gsx$department.$t);
console.log(lastName);
obj["title"] = title;
obj["lastName"] = lastName;
obj["firstName"] = firstName;
obj["email"] = lastName;
obj["department"] = department;
//console.log(obj);
/*
(index):345 {title: "Cook II", lastName: "Woon", firstName: "Ra", email: "Wson",
department: "LR"}department: "WL Span"email: "Zuniga"firsame: "Lea"lastName: "Zga"title: "Regular Teer"__proto__: Object*/
//nietos.push(obj);
}))
//控制台日志(nietos)
}))
预期:
{title: "Teacher", lastName: "Teacher1", firstName: "Teachername", email: "email1@gmail.com",},
{title: "Teacher2", lastName: "Teacher2", firstName: "Teachername2", email: "email2@gmail.com",},,
{title: "Teacher3", lastName: "Teacher3", firstName: "Teachername3", email: "email3@gmail.com",},
实际产量:
{title: "Teacher3", lastName: "Teacher3", firstName: "Teachername3", email: "email3@gmail.com",},
{title: "Teacher3", lastName: "Teacher3", firstName: "Teachername3", email: "email3@gmail.com",},
{title: "Teacher3", lastName: "Teacher3", firstName: "Teachername3", email: "email3@gmail.com",},
您只创建了一个带有
var obj={}的对象代码>,然后修改“循环”中的一个对象,并将对该对象的引用添加到数组中
在每个循环迭代中(在回调中)创建一个新的var obj={}
作为旁注,let profesor={}代码>会更好…谢谢!为什么让它更好?因为它有更严格的范围规则(因此更容易推理)
{title: "Teacher3", lastName: "Teacher3", firstName: "Teachername3", email: "email3@gmail.com",},
{title: "Teacher3", lastName: "Teacher3", firstName: "Teachername3", email: "email3@gmail.com",},
{title: "Teacher3", lastName: "Teacher3", firstName: "Teachername3", email: "email3@gmail.com",},