Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将对象推入数组_Javascript_Jquery - Fatal编程技术网

Javascript 将对象推入数组

Javascript 将对象推入数组,javascript,jquery,Javascript,Jquery,我试图使用each循环将对象推入数组,而对象的数量最终是正确的,对象中的数据在最后一个条目中重复 当我在循环中记录对象时,它会给我两组数据,第一组是正确的,第二组是循环的最后一组数据 我曾尝试将数据记录到控制台,但它给了我非常奇怪的值 $.getJSON(url, function(data) { var entry = data.feed.entry; var nietos = []; var obj = {}; $(entry).each(functi

我试图使用each循环将对象推入数组,而对象的数量最终是正确的,对象中的数据在最后一个条目中重复

当我在循环中记录对象时,它会给我两组数据,第一组是正确的,第二组是循环的最后一组数据

我曾尝试将数据记录到控制台,但它给了我非常奇怪的值

$.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",},