我有一个数组
var data = [{"fname":"john","sname":"doe","id":"2"},{"country":"England"}];
我试着用这个迭代:
var comment='';
for(var i = 0; i < data.length; i++) {
comment = data[i];
}
我用这个访问数据:
alert(comment.fname);
alert(comment.sname);
alert(comment.id);
alert(comment.country);
只有comment.country
正确显示,其余显示undefined
。
答案 0 :(得分:1)
var data ='[{"fname":"john","sname":"doe","id":"2"},{"country":"England"}]';
此数组包含2个不同的对象。如果同一个对象有fname,sname,id和country,你应该把它们变成一个。
var data ='[{"fname":"john","sname":"doe","id":"2","country":"England"}]';
答案 1 :(得分:1)
每次循环时你的循环都会覆盖comment
,所以最后它只包含data
的最后一个元素。如果您希望comment
包含其他元素的属性,则需要在循环期间选择它们。
comment = {}
$.each(data, function(i, obj) {
$.extend(comment, obj); // Merge the properties if each element into comment
});
答案 2 :(得分:0)
刚刚得到它;
我没有更改服务器端的代码。
var comment=[];
$.each(data, function(key, val) {
$.each(val, function(index, value){
comment[index]=value;
});
});
显示的所有值
alert(comment.fname);
alert(comment.sname);
alert(comment.id);
alert(comment.country);