Javascript在多维数组中添加数据
我试图理解如何向数组中添加值。它是多层面的:Javascript在多维数组中添加数据,javascript,multidimensional-array,add,Javascript,Multidimensional Array,Add,我试图理解如何向数组中添加值。它是多层面的: var eventcontent = { '2015-05-02' : [{'title':'somethingtitle1','content':'somethingcontent1','something':'something1'},{'title':'somethingtitle2','content':'somethingcontent2','something':'something2'}],
var eventcontent = {
'2015-05-02' : [{'title':'somethingtitle1','content':'somethingcontent1','something':'something1'},{'title':'somethingtitle2','content':'somethingcontent2','something':'something2'}],
'2015-05-07' : [{'title':'somethingtitle7','content':'somethingcontent7','something':'something7'}],
}
如何将以下数据添加到“2015-05-02”中
{'title':'somethingtitle3','content':'somethingtontent3','something':'something3'}
感谢您的帮助
事件内容是对象。首先,您必须访问存储在2015-05-02
键下的阵列<代码>2015-05-02
不是有效的属性标识符,因此您无法通过
var array = eventcontent.2015-05-02 // SyntaxError
相反,您必须使用括号表示法
var array = eventcontent['2015-05-02'];
例如,您可以将数据保存到数组中
var data = {'title':'somethingtitle3','content':'somethingcontent3','something':'something3'};
var array = eventcontent['2015-05-02'];
array.push(data);
编辑:
也许您还应该检查数组是否确实存在,以便代码变成:
var data = {'title':'somethingtitle3','content':'somethingcontent3','something':'something3'};
var array = eventcontent['2015-05-02'];
if (array === undefined) // check if it is undefined and if so...
array = eventcontent['2015-05-02'] = []; // make empty array and assign it to eventcontent under '2015-05-02' key
}
array.push(data);
eventcontent['2015-05-02'].推送({…})
感谢您的回答。我总是遇到一个错误:TypeError:无法读取未定义的属性“push”。这是我的声明:var eventcontent={}我也尝试了[]。抱歉,我假设您已使用数据初始化了eventcontent
。在这种情况下,您必须检查数组是否确实存在,并在需要时创建它。它给我同样的错误信息。知道会是什么吗。我所拥有的是我上面的帖子