循环访问一个对象并访问每个属性

时间:2015-10-14 19:55:47

标签: jquery arrays json loops

我已经查看了其他帖子的想法和解决方案,他们已经提供了帮助,但对于我的特殊问题,我仍然无法让我的工作。我有两个对象,我推入一个数组。在[FIRST TRY]下,我能够循环并在警告框中显示正确的值,但是,我无法访问我的对象的每个属性。在我的第二次尝试中,我尝试使用jquery来访问它们,但在我的警告框中,变量显示为' Undefined'。任何有关这方面的帮助将不胜感激。提前致谢。

file.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);
});

1 个答案:

答案 0 :(得分:0)

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

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);
}