JavaScript如何将嵌套的json对象数据设置为单个嵌套映射
我想将嵌套的JSON数据设置成嵌套的映射并迭代它。考虑下面的示例JSON,我想将FixNew、LaSTNED、地址对象、地址1对象值设置成单个嵌套的映射。还可以如何迭代它来从地址对象城市字段值获得值。 请提供更好的解决方案。 示例json:JavaScript如何将嵌套的json对象数据设置为单个嵌套映射,javascript,json,node.js,dictionary,protractor,Javascript,Json,Node.js,Dictionary,Protractor,我想将嵌套的JSON数据设置成嵌套的映射并迭代它。考虑下面的示例JSON,我想将FixNew、LaSTNED、地址对象、地址1对象值设置成单个嵌套的映射。还可以如何迭代它来从地址对象城市字段值获得值。 请提供更好的解决方案。 示例json: [{ "firstName": "Jihad", "lastName": "Saladin", "address": { "street": "12 Beaver Court", "city": "Snowm
[{
"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"
}
]
}]
*/
请不要删除问题的格式。您可以选择代码,单击Ctrl+k,编辑器将为您自动格式化tt(供下次参考)。如果您询问“更好的解决方案”,则您需要在某个地方有一个可比较的解决方案。通常你至少应该自己尝试一些东西。