【发布时间】:2021-08-03 19:13:59
【问题描述】:
如何访问嵌套数组和对象数据结构中的属性。
我希望访问对象的sub 属性中的数据。但是,正如您所见,子属性值也具有特征对象。所以这是我的代码,我使用循环访问该对象中的属性,如下所示:
[{
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]
}
}]
我正在尝试在此处访问对象的这个后期属性和其他属性。在这里,我使用以下代码向您展示这个示例。
console.log(courseWork[0].sub);
但是,当我尝试访问它的子属性(例如 late 或 state)时,我没有得到它们,并且我在控制台中得到一个 undefined ,如下所示:
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'
}
现在我是 javascript 和 appscript 的新手,从未处理过如此大的数据和对象。如何访问此级别的数据。
【问题讨论】:
-
请将示例数据以文本形式发布。
-
@Unmitigated 很抱歉,我现在会以块引用格式这样做。
-
@Unmitigated 进行了编辑,您可以看到它。
-
console.log(courseWork[0].sub['101319245169270376329'].late)应该是true我认为 -
我不明白你的问题。您的问题是说您正在尝试访问名为
true的属性?console.log(courseWork[0].sub.true);在您粘贴的示例对象中,我没有看到名为true的属性。
标签: javascript arrays object data-structures