使用jquery构建嵌套的对象/数组



我正试图从动态表单的输入构建一个javascript对象

fieldTickets = [];
thisWeek = randomDateOnSunday;
weekDay = randomWeekDayWithinTheWeek;
fieldTickets[thisWeek]['days'][weekDay]['fieldTechs'].push({name: fieldTechName});

正如你所看到的,我有一些键是动态变量,还有一些是定义的("days"one_answers"fieldTechs"总是一样的,但星期和工作日会改变(。不幸的是,每次我尝试运行它时,即使是在小提琴上,它也会给我一个Cannot read properties of undefined (reading 'days')错误。我已经处理这个问题好几个小时了,想不通。

如何使用动态键构建嵌套数组/对象?

我认为如果它不存在,它会自动创建使用该语法。。。显然我错了,但还有更短的吗比大量的if exists语句还要多吗?

JavaScript不会自动创建它,但可以在没有if的情况下创建,请尝试下面的

const thisWeek = '12'; //randomDateOnSunday;
const weekDay = 'Sunday'; // randomWeekDayWithinTheWeek;
fieldTickets = {
[thisWeek]: {
days: {
[weekDay]: {
fieldTechs: []
}
}
}
};
console.log('fieldTickets:', fieldTickets);
// pushing 
fieldTickets[thisWeek]['days'][weekDay]['fieldTechs'].push({
name: "Hello"
});
// pushing again
fieldTickets[thisWeek]['days'][weekDay]['fieldTechs'].push({
name: "World"
});
console.log('fieldTickets 2:', fieldTickets);

最新更新