我有一个像这样的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”仅存储“名称”,而不存储完整的对象。

{
       "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循环。您可以使用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)

10-07 19:06
查看更多