我有一个像这样的 json 对象:
{
"id":"cfab8e92-025a-4070-ba1f-5bb1a8b3c9b6",
"custome-array":[
{
"date1":"12/10/2019",
"date2":"12/09/2019",
"id":"cfab8e92-025a-4070-ba1f-5bb1a8b3c9b6",
"more_data":{
"id":"59c12dbf1d41c818272198b3",
"some_no":"9204506",
"name":"blabla"
}
},
{
"date1":"12/10/2019",
"date2":"12/09/2019",
"id":"cfab8e92-025a-4070-ba1f-5bb1a8b3c9b6",
"more_data":{
"id":"59c12dbf1d41c818272198b3",
"some_no":"9204506",
"name":"blabla"
}
}
]
}
我的“客户数组”是动态的
我想用map函数修改这个数据格式,让“more_data”只存储“name”,而不是存储完整的对象。
{
"id":"cfab8e92-025a-4070-ba1f-5bb1a8b3c9b6",
"custome-array":[
{
"date1":"12/10/2019",
"date2":"12/09/2019",
"id":"cfab8e92-025a-4070-ba1f-5bb1a8b3c9b6",
"more_data":"blabla"
},
{
"date1":"12/10/2019",
"date2":"12/09/2019",
"id":"cfab8e92-025a-4070-ba1f-5bb1a8b3c9b6",
"more_data":"blabla"
}
]
}
最佳答案
这适用于简单的 forEach loop.You can mutate the original array, with forEach's
回调。
let data = {
"id": "cfab8e92-025a-4070-ba1f-5bb1a8b3c9b6",
"custome-array": [{
"date1": "12/10/2019",
"date2": "12/09/2019",
"id": "cfab8e92-025a-4070-ba1f-5bb1a8b3c9b6",
"more_data": {
"id": "59c12dbf1d41c818272198b3",
"some_no": "9204506",
"name": "blabla"
}
},
{
"date1": "12/10/2019",
"date2": "12/09/2019",
"id": "cfab8e92-025a-4070-ba1f-5bb1a8b3c9b6",
"more_data": {
"id": "59c12dbf1d41c818272198b3",
"some_no": "9204506",
"name": "blabla"
}
}
]
}
data["custome-array"].forEach(ele => {
ele["more_data"] = ele["more_data"].name;
})
console.log(data)
关于javascript - 如何使用同一对象的另一个键的值更改对象的键值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56735972/