[英]JavaScript how to set nested json object data into single nested map
我想將嵌套的json數據設置到嵌套映射中並對其進行迭代。以下面的示例json為例,我想將firstName,lastName,address對象,address 1對象的值設置為單個嵌套map.Allow如何對其進行迭代以獲取值來自地址對象城市字段的值。
請提供更好的解決方案。 樣本json:
[{
"firstName": "Jihad",
"lastName": "Saladin",
"address": {
"street": "12 Beaver Court",
"city": "Snowmass",
"state": "CO",
"zip": "81615"
},
"address1": {
"street": "16 Vail Rd",
"city": "Vail",
"state": "CO",
"zip": "81657"
}
}]
如果要合並所有地址,可以執行以下操作
const people = [{
"firstName": "Jihad",
"lastName": "Saladin",
"address": {
"street": "12 Beaver Court",
"city": "Snowmass",
"state": "CO",
"zip": "81615"
},
"address1": {
"street": "16 Vail Rd",
"city": "Vail",
"state": "CO",
"zip": "81657"
}
}]
const newPeople = people.map(person => {
const addresses = [person.address]
for (let i = 1; person['address' + i]; i++) {
addresses.push(person['address' + i])
}
return {
firstName: person.firstName,
lastName: person.lastName,
addresses
}
})
console.log(JSON.stringify(newPeople))
/*
[{
"firstName": "Jihad",
"lastName": "Saladin",
"addresses": [
{
"street": "12 Beaver Court",
"city": "Snowmass",
"state": "CO",
"zip": "81615"
},
{
"street": "16 Vail Rd",
"city": "Vail",
"state": "CO",
"zip": "81657"
}
]
}]
*/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.