【发布时间】:2020-05-23 19:11:43
【问题描述】:
我有这个对象:
product: {
id: "id1",
title: "ProductName 1",
additionalDetails: {
o1: {
id: "pp1",
label: "Text",
content: [{ id: "ppp1", label: "Tetetet" }]
},
o2: {
id: "pp2",
label: "Text2",
content: [{ id: "ppp2", label: "Tetetet2" }]
}
}
}
我尝试迭代到每个 object.additionalDetails.object 但我不能。我的代码:
Object.keys(product.additionalDetails).forEach((key: string) => {
const additionalDetail = product[key];
const idLabel: string = additionalDetail.id;
const label: string = additionalDetail.label;
const contentId: string = additionalDetail.content[0].id;
const content = additionalDetail.content[1].label;
});
但它不起作用。我错过了什么?
【问题讨论】:
-
additionalDetail.content是一个数组,您正在尝试访问其id属性(additionalDetail.content.id),因为它似乎总是只有一个元素,您可以使用additionalDetail.content[0].id跨度> -
这看起来不像是正确的语法。您是否缺少
{}将o1和o2包装在product中? -
嗨 Catherine:您的第一个代码 sn-p 在语法上不是有效的 TypeScript。你确定你复制的正确吗?
-
其次:“它不起作用”对于那些试图帮助你的人来说通常不是很有帮助。请准确描述到底发生了什么,包括完整的错误消息等。
-
那是因为你需要使用
product.additionalDetails[key]而不仅仅是product[key]。
标签: javascript arrays typescript object foreach