【问题标题】:Looping Through an Array of Objects and Accessing Each Property循环遍历对象数组并访问每个属性
【发布时间】:2015-10-14 19:55:47
【问题描述】:

我查看了其他帖子以获取想法和解决方案,他们提供了帮助,但对于我的特定问题,我仍然无法解决我的问题。我有两个对象,我推入一个数组。在 [FIRST TRY] 下,我可以循环并在警告框中显示正确的值,但是,我无法访问对象的每个属性。在我的第二次尝试中,我尝试使用 jquery 来访问它们,但在我的警报框中,变量显示为“未定义”。对此的任何帮助将不胜感激。提前致谢。

文件.js

var x_array=[]

var objC = {
firstname: "Jane",
lastname: "Doe",
email: "jdoe@email.com"
};

var objD = {
firstname: "Jordan",
lastname: "Michael",
email: "jmichael@email.com"
};
x_array.push(objC);
x_array.push(objD);

// FIRST TRY
for (var i = 0; i < x_array.length; i++) {
   var object = x_array[i];
for (var property in object) {
    alert("Name: "+ i + ':' + property + '=' + object[property]);
    }
}
    alert("Begin Trying it another way"); // SECOND TRY 

$(jQuery.parseJSON(JSON.stringify(MyArray))).each(function() {  
var HisName = this.name;
var HisAge = this.age;
alert("The persons name is "+HisName+' and their age is ' +HisAge);
});

【问题讨论】:

标签: jquery arrays json loops


【解决方案1】:

试试这个,它会遍历数组中的所有对象,并遍历其所有的键值对。

var x_array=[]

var objC = {
firstname: "Jane",
lastname: "Doe",
email: "jdoe@email.com"
};

var objD = {
firstname: "Jordan",
lastname: "Michael",
email: "jmichael@email.com"
};
x_array.push(objC);
x_array.push(objD);

// FIRST TRY
for (var i = 0; i < x_array.length; i++) {
   var objStr = " "
   Object.keys(x_array[i]).forEach(function(key) {
       if(key !="email"){
          objStr += key + ":" + x_array[i][key] + " ";
       }
   });
   alert(objStr);
}

【讨论】:

  • 这很好用。但是,如果我只想显示名字和姓氏而忽略电子邮件,这可能吗?我能否以某种方式识别每个键值对>?
  • 我相信这也有效。我只是想调整它的格式并将其附加到一个部分。不过感谢您的帮助。由此,我应该能够做出将来可能需要的任何其他更改。谢谢
猜你喜欢
  • 2017-10-27
  • 1970-01-01
  • 2014-12-19
  • 1970-01-01
  • 1970-01-01
  • 2014-01-26
  • 1970-01-01
  • 1970-01-01
  • 2016-03-11
相关资源
最近更新 更多