Javascript在multidimesional数组中添加数据

时间:2015-05-16 22:59:13

标签: javascript multidimensional-array add

我正在尝试了解如何在我的数组中添加值。它是多维的:

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”中添加以下数据?

{ '标题': 'somethingtitle3', '内容': 'somethingcontent3', '东西': 'something3'}

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

eventcontent是对象。首先,您必须访问存储在2015-05-02密钥下的数组。 2015-05-02不是有效的属性标识符,因此您无法通过

访问它
var array = eventcontent.2015-05-02 // SyntaxError

而你必须使用括号表示法

var array = eventcontent['2015-05-02'];

然后您可以将push数据添加到数组

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);