javascript - 遍历 Typescript 中的每个对象
问题描述
我有这个对象:
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;
});
但它不起作用。我错过了什么?
解决方案
两个错误:
替换product[key]
为product.additionalDetails[key]
和
additionalDetail.content[1]
不存在(content
是一个只有一个元素的数组)
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.keys(product.additionalDetails).forEach( key => {
const additionalDetail = product.additionalDetails[key]; // <-- Here
const idLabel = additionalDetail.id;
const label= additionalDetail.label;
const contentId = additionalDetail.content[0].id;
// const content = additionalDetail.content[1].label; // <-- content[1] Doesn't exist
});
推荐阅读
- android - 是否可以在 Flutter 中使用滑动手势打开和关闭新活动?
- javascript - 对象作为反应子无效(发现:TypeError:filepath.includes 不是函数)
- c# - 在我的库项目中使用 Autofac IoC 是否是一个好习惯,如果没有,如何替换它?如果是,如何解决依赖关系?
- javascript - 尽管 .to(room) 仍向所有用户发出 Socket.io
- python - 如何将元素附加到空列表中
- android - 无法使用材质组件自定义动作模式上下文弹出背景和形状
- java - 有没有办法在 Android 的谷歌地图上更改我的位置点的颜色?
- php - 即使在沙盒模式下也无法从 Instagram API 访问非基本权限
- python - 如何在 django 中使用 jquery 配置 ajax 请求?
- listview - C++ listview 删除项目