javascript - 如何使用同一对象的另一个键的值更改对象的键值?

标签 javascript reactjs

我有一个像这样的 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/

相关文章:

javascript - 从子组件传递数据时父状态不更新

ruby-on-rails - 将模型传递给组件

javascript - 如何使用 javascript 验证标签或元素是否在网页上居中对齐

javascript - 如何使用 jQuery 窗口调整大小重新计算 css?

JavaScript 或 Python 从 block 数据中提取 IP 地址

javascript - 如何为 React 和非 React 消费者提供解决方案?

javascript - 控制台日志不记录

javascript - Browserify 无法编译 react

javascript - 无法缩放我的 iPad 应用程序

javascript - 几分钟后网页变得无响应并崩溃