我已经查看了其他帖子的想法和解决方案,他们已经提供了帮助,但对于我的特殊问题,我仍然无法让我的工作。我有两个对象,我推入一个数组。在[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);
});
答案 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);
}