我有以下对象
{
"Monday": [
{
"morning": [
{
"start_time": "02:00",
"end_time": "07:30"
}
],
"afternoon": [
{
"start_time": "02:00",
"end_time": "05:00"
}
],
"evening": [
{
"start_time": "02:30",
"end_time": "07:00"
}
]
}
],
"Tuesday": [
{
"morning": [
{
"start_time": "02:00",
"end_time": "07:30"
}
],
"afternoon": [
{
"start_time": "02:00",
"end_time": "05:00"
}
],
"evening": [
{
"start_time": "02:30",
"end_time": "07:00"
}
]
}
],
..
}
我想循环遍历所有对象键和值
for (var prop in this.jsonData) {
console.log("Key:" + prop);
console.log("Value:" + this.jsonData[prop]);
}
得到
键:周一值:未定义
但我需要访问内部对象值
要访问内部对象值,您还需要循环访问内部数组。这是示例代码:
Object.entries(this.jsonData).forEach(([day, dayData]) => {
console.log("Day:", day);
const timePeriods = dayData[0];
Object.entries(timePeriods).forEach(([timePeriod, slots]) => {
console.log(" Time Period:", timePeriod);
slots.forEach(({ start_time, end_time }, i) => {
console.log(` Slot ${i + 1}`);
console.log(" Start Time:", start_time);
console.log(" End Time:", end_time);
});
});
});
const jsonData = {
Monday: [
{
morning: [
{
start_time: "02:00",
end_time: "07:30",
},
],
afternoon: [
{
start_time: "02:00",
end_time: "05:00",
},
],
evening: [
{
start_time: "02:30",
end_time: "07:00",
},
],
},
],
Tuesday: [
{
morning: [
{
start_time: "02:00",
end_time: "07:30",
},
],
afternoon: [
{
start_time: "02:00",
end_time: "05:00",
},
],
evening: [
{
start_time: "02:30",
end_time: "07:00",
},
],
},
],
};
Object.entries(jsonData).forEach(([day, dayData]) => {
console.log("Day:", day);
const timePeriods = dayData[0];
Object.entries(timePeriods).forEach(([timePeriod, slots]) => {
console.log(" Time Period:", timePeriod);
slots.forEach(({ start_time, end_time }, i) => {
console.log(` Slot ${i + 1}`);
console.log(" Start Time:", start_time);
console.log(" End Time:", end_time);
});
});
});