[英]How to loop nested object from props in React?
我正在嘗試從這些道具構建一個 obj model:
cars.data: {
details: [
{
id: Audi,
attributes: [
{id: audi1, value: 1},
{id: audi2, value: 2},
{id: audi3, value: 3}
]
},
{
id: BMW,
attributes: [
{id: bmw1, value: 1},
{id: bmw2, value: 2},
{id: bmw3, value: 3}
]
},
{
id: Merc,
attributes: [
{id: merc1, value: 1},
{id: merc2, value: 2},
{id: merc3, value: 3}
]
},
]
}
我在映射屬性數組時遇到困難,map 這個嵌套數組的正確方法是什么? 這是我的嘗試:
const objModel = {
details: [
props.cars.data.details.map(item => (
{
id: item.id,
attributes: [
item.map(item => (
{
id: item.attributes.id,
value: item.attributes.value
}
))
]
}
))
]
}
具體來說,這部分不起作用(我認為因為它是地圖中的 map):
item.map(item => (
{
id: item.attributes.id,
value: item.attributes.value
}
))
循環屬性以獲取每個 id 和 value 的正確方法是什么
它應該是item.attributes.map
例如
attributes: item.attributes.map(attr => (
{
id: attr.id,
value: attr.value
}
)
const data = { details: [ { id: 'Audi', attributes: [ { id: 'audi1', value: 1 }, { id: 'audi2', value: 2 }, { id: 'audi3', value: 3 }, ], }, { id: 'BMW', attributes: [ { id: 'bmw1', value: 1 }, { id: 'bmw2', value: 2 }, { id: 'bmw3', value: 3 }, ], }, { id: 'Merc', attributes: [ { id: 'merc1', value: 1 }, { id: 'merc2', value: 2 }, { id: 'merc3', value: 3 }, ], }, ], } const objModel = { details: data.details.map(item => ({ id: item.id, attributes: item.attributes.map(attr => ({ id: attr.id, value: attr.value, })), })), } console.log(objModel)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.