我可以创建一个动态对象,如下所示:
var year=2103;
var month=9;
var selected={};
selected[year][month]=true;
但是下面给出了一个未定义的对象错误,我认为是因为第一个键尚未创建并且 Javascript 不会自动执行此操作。
selected[year]=true;
我可以创建一个动态对象,如下所示:
var year=2103;
var month=9;
var selected={};
selected[year][month]=true;
但是下面给出了一个未定义的对象错误,我认为是因为第一个键尚未创建并且 Javascript 不会自动执行此操作。
selected[year]=true;
但是下面给出了一个未定义的对象错误,我认为是因为第一个键尚未创建并且 Javascript 不会自动执行此操作。
是的,您必须创建它:
var year = 2103;
var month = 9;
var selected = {};
selected[year] = {};
selected[year][month] = true;
如果您不确定对象是否已经存在,并且不想覆盖它:
selected[year] = selected[year] || {};
作为填充对象的快捷方式,如果缺少并在一步中分配月份键:
(selected[year]||(selected[year]={}))[month] = true;
你只需要添加一个步骤:selected[year]=[];
var year=2103;
var month=9;
var selected=[];
selected[year]=[];
selected[year][month]=true;