我想在我的数组的特定字段中添加一个值,这是一个json对象。 换句话说,我想附加到一个json对象,这是另一个数组的字段。
var cdata = new Array();
for (i in json2) {
for (j in json2[i]) {
//here i get error:
cdata[j].push({
'x': json2[i].timestamp,
'y': json2[i][j]
});
};
};
但是我得到了未被捕捉TypeError: Cannot call method 'push' of undefined error.
提前致谢
答案 0 :(得分:4)
您正在调用索引j引用的数组元素上的push,如下所示:cdata [j]
你应该致电
cdata.push({
'x': json2[i].timestamp,
'y': json2[i][j]
});
另外 - 感谢评论者 - 看看你在数组json2中迭代的方式,它似乎不对。我们可以看到json2完全回答这个问题。
该行:
json2[i].timestamp
建议json2是一个对象数组
但行:
json2[i][j]
建议json2是一个多维数组。
请参阅此帖子:How can I create a two dimensional array in JavaScript?
HTH