首页 > 解决方案 > Javascript如何将键值对推送到嵌套对象数组中

问题描述

我有这个 JSON 响应,我想在嵌套菜单数组中推送"status": "pending" ,请帮助我如何在 Javascript 中实现这一点。

[
{
    "id": 1,
    "status": "pending",
    "menues": [
        {
            "title": "Coke",
            "price": "200"
        }
    ]
},
{
    "id": 2,
    "status": "delivered",
    "menues": [
        {
            "title": "Pepsi",
            "price": "120"
        }
    ]
}
]

这是我想要实现的目标: 我只想将 Staus 键/值推送到 Menu 数组中

[
{
    "id": 1,
    "menues": [
        {
            "title": "Coke",
            "price": "200",
            "status": "pending",
        }
    ]
},
{
    "id": 2,
    "menues": [
        {
            "title": "Pepsi",
            "price": "120",
            "status": "delivered",
        }
    ]
}
] 

标签: javascriptarraysreactjsjson

解决方案


您可以查看数组,对于每个项目,查看menues. 使用该forEach方法,这甚至可以作为单个语句完成:

arr = [
  {
      "id": 1,
      "status": "pending",
      "menues": [
          {
              "title": "Coke",
              "price": "200"
          }
      ]
  },
  {
      "id": 2,
      "status": "delivered",
      "menues": [
          {
              "title": "Pepsi",
              "price": "120"
          }
      ]
  }
];

arr.forEach(nested => {
    nested.menues.forEach(menu => menu.status = nested.status);
    delete nested.status
});
console.log(arr);


推荐阅读