¿Cómo puedo acceder a las propiedades dentro de una matriz anidada y una estructura de datos de objetos?
Deseo acceder a los datos dentro de la propiedad sub del objeto. Sin embargo, como puede ver, los valores de las subpropiedades también presentan objetos. Así que aquí está mi código donde estoy usando loop para acceder a la propiedad dentro de estos objetos que se vería así como se muestra a continuación:
[{ updateTime: '2021-08-01T10:31:12.997Z', state: 'PUBLISHED', description: '[Assignment Link]', creationTime: '2021-08-01T10:00:32.502Z', creatorUserId: '100720723991781953762', maxPoints: 100, assigneeMode: 'ALL_STUDENTS', title: 'Chapter 10 - Challenge - Sounds', topicId: '371133499749', dueTime: { hours: 12, minutes: 29 }, courseId: '359355912330', dueDate: { year: 2021, day: 2, month: 8 }, submissionModificationMode: 'MODIFIABLE_UNTIL_TURNED_IN', alternateLink: 'Links', id: '375299410585', workType: 'ASSIGNMENT', sub: { '101319245169270376329': [Object], '113602874081893916075': [Object], '109482297400381284245': [Object], '116018616608318973354': [Object], '113664444807142890993': [Object], '114971581068847820301': [Object], '102115961232295542434': [Object], '101379903617328602973': [Object], '110645572827894944226': [Object], '116196654365604694016': [Object], '111060187005391455662': [Object], '109231821126887264833': [Object], '111638802824371384480': [Object], '107268429707932588376': [Object], '113020667154770187233': [Object], '102653891403954041925': [Object], '105324491423107091552': [Object], '101716831976886159513': [Object], '100197750836727383685': [Object], '109019166529420617094': [Object], '115372484470281534681': [Object], '114443976641819242498': [Object] } }]Estoy tratando de acceder a esta última y otras propiedades del objeto aquí. Aquí les muestro este ejemplo usando el siguiente código.
console.log(courseWork[0].sub);Sin embargo, cuando trato de acceder a sus subpropiedades como tarde o estado, no las obtengo y obtengo un indefinido en mi consola como este:
console.log(courseWork[0].sub.late); { alternateLink: 'Links', courseWorkType: 'ASSIGNMENT', courseId: '359355912330', assignmentSubmission: {}, userId: '101319245169270376329', courseWorkId: '375299410585', id: 'Cg0I9eKUzyYQmZXajPYK', submissionHistory: [Object], state: 'CREATED', late: true, creationTime: '2021-08-01T10:31:45.071Z', updateTime: '2021-08-01T10:31:45.036Z' }Ahora soy nuevo en javascript y appscript y nunca traté con datos y objetos tan grandes. ¿Cómo puedo acceder a los datos de este nivel?
Consulte la documentación de Object.keys , Object.values y Object.entries ...
var obj = { sub: { '101319245169270376329': { late: true }, '113602874081893916075': { late: true }, '109482297400381284245': { late: false }, '116018616608318973354': { late: true }, '113664444807142890993': { late: true }, '114971581068847820301': { late: false }, '102115961232295542434': { late: true }, '101379903617328602973': { late: false }, } }; Object .entries(obj.sub) .forEach(([key, value]) => console.log(`'${ key }' ... late: ${ value.late }`) ); Object .values(obj.sub) .forEach(item => console.log(`late: ${ item.late }`)); .as-console-wrapper { min-height: 100%!important; top: 0; } var obj = { updateTime: '2021-08-01T10:31:12.997Z', state: 'PUBLISHED', description: '[Assignment Link]', creationTime: '2021-08-01T10:00:32.502Z', creatorUserId: '100720723991781953762', maxPoints: 100, assigneeMode: 'ALL_STUDENTS', title: 'Chapter 10 - Challenge - Sounds', topicId: '371133499749', dueTime: { hours: 12, minutes: 29 }, courseId: '359355912330', dueDate: { year: 2021, day: 2, month: 8 }, submissionModificationMode: 'MODIFIABLE_UNTIL_TURNED_IN', alternateLink: 'Links', id: '375299410585', workType: 'ASSIGNMENT', sub: { '101319245169270376329': { alternateLink: 'Links', courseWorkType: 'ASSIGNMENT', courseId: '359355912330', assignmentSubmission: {}, userId: '101319245169270376329', courseWorkId: '375299410585', id: 'Cg0I9eKUzyYQmZXajPYK', submissionHistory: {}, state: 'CREATED', late: true, creationTime: '2021-08-01T10:31:45.071Z', updateTime: '2021-08-01T10:31:45.036Z' }, '113602874081893916075': {}, '109482297400381284245': {}, '116018616608318973354': {}, '113664444807142890993': {}, '114971581068847820301': {}, '102115961232295542434': {}, '101379903617328602973': {}, '110645572827894944226': {}, '116196654365604694016': {}, '111060187005391455662': {}, '109231821126887264833': {}, '111638802824371384480': {}, '107268429707932588376': {}, '113020667154770187233': {}, '102653891403954041925': {}, '105324491423107091552': {}, '101716831976886159513': {}, '100197750836727383685': {}, '109019166529420617094': {}, '115372484470281534681': {}, '114443976641819242498': {} } }; console.log(obj.sub['101319245169270376329'].late); // output: true