[英]How do I create a javascript object like this?
嗨,大家好,我正在尝试创建一个JavaScript对象,如下所示:
data = { values:[
{ X: "Apples", Y: 120 },
{ X: "Oranges", Y: 280 },
{ X: "Chocolates", Y: 180 },
{ X: "Bananas", Y: 340 },
{ X: "Tomatoes", Y: 400 },
]};
我已经尝试过了,但是不行吗?
var data = {};
for (i = 0; i < json.Answers.length; i++){
data.values[i].X = json.Answers[i].AnswerText
data.values[i].Y = json.Answers[i].Responses.length
}
json部分很好,关于构造对象有什么想法吗?
首先,您尝试使用从未定义的data
的values
属性。 更改
var data = {};
至
var data = {values: []};
这将创建values
数组。
另外,在循环中,您尝试分配给不存在的对象。 将循环的内容更改为:
data.values[i] = {
X: json.Answers[i].AnswerText,
Y: json.Answers[i].Responses.length
};
这将在创建对象时创建每个包含在values
数组中的对象。
所以:
var data = {values: []};
for (i = 0; i < json.Answers.length; i++){
data.values[i] = {
X: json.Answers[i].AnswerText,
Y: json.Answers[i].Responses.length
};
}
(旁注:不要忘记声明i
,如果尚未声明的话,以免您沦为“隐性全球性恐怖”的猎物。)
data
: data = {values: []};
data.values = [];
for (i = 0; i < json.Answers.length; i++) {
data.values.push({X: json.Answers[i].AnswerText, Y: json.Answers[i].Responses.length});
}
尝试:
var data = {values:[]};
for (i = 0; i < json.Answers.length; i++){
data.values[i]= {X: json.Answers[i].AnswerText, Y:json.Answers[i].Responses.length}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.