2015-10-14 120 views
0

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

file.js

var x_array=[] 

var objC = { 
firstname: "Jane", 
lastname: "Doe", 
email: "[email protected]" 
}; 

var objD = { 
firstname: "Jordan", 
lastname: "Michael", 
email: "[email protected]" 
}; 
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); 
}); 
+0

您的代码工程:http://jsfiddle.net/6hpwn9cq/ – tymeJV

回答

0

尝试此,它通过循环通过它的所有密钥值对中的阵列和循环中的所有对象。

var x_array=[] 

var objC = { 
firstname: "Jane", 
lastname: "Doe", 
email: "[email protected]" 
}; 

var objD = { 
firstname: "Jordan", 
lastname: "Michael", 
email: "[email protected]" 
}; 
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); 
} 
+0

这很好。但是如果我只想显示名字和姓氏而忽略电子邮件,这可能吗?我可以以某种方式识别每个关键值对吗? – user1898629

+0

@ user1898629我已更新代码 – Nakib

+0

这个作品我也相信。我只是想调整它的格式并将其附加到一个部分。虽然谢谢你的帮助。从这我应该能够做出我将来可能需要的任何其他更改。谢谢 – user1898629

相关问题