将项添加到json对象的数组中

时间:2013-12-23 17:14:47

标签: javascript arrays

我想在我的数组的特定字段中添加一个值,这是一个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.

提前致谢

1 个答案:

答案 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