我正在嘗試從動態表單的輸入構建一個 javascript 物件。這就是我想要做的:
fieldTickets = [];
thisWeek = randomDateOnSunday;
weekDay = randomWeekDayWithinTheWeek;
fieldTickets[thisWeek]['days'][weekDay]['fieldTechs'].push({name: fieldTechName});
如您所見,我有一些鍵是動態變數,一些鍵是定義的('days' 和 'fieldTechs' 始終相同,但周和作業日會改變)。不幸的是,每次我嘗試運行它時,即使是在小提琴上,它也會給我Cannot read properties of undefined (reading 'days')一個錯誤。我已經處理了幾個小時,無法弄清楚。
如何使用動態鍵構建嵌套陣列/物件?
uj5u.com熱心網友回復:
我認為它會通過使用該語法自動創建它,如果它不存在......顯然我錯了但是還有另一種比大量 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);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/351232.html
標籤:javascript
下一篇:在<tr>元素中居中多個影像
