首页 > 解决方案 > 想要更改复杂的 Json 结构,我需要在 Javascript 中更改它的数组

问题描述

我是 javascript 新手,我面临复杂结构的问题,我需要分解为数组。

我的结构是

   [
    {
        "Key": "ProducePRINKA0370001",
        "Record": {
            "docType": "Produce",
            "PRODUCEID": "PRINKA0370001"
        }
    },
    {
        "Key": "ProducePRINKA0370038",
        "Record": {
            "docType": "Produce",
            "PRODUCEID": "PRINKA0370038"
        }
    },
    {
        "Key": "ProducePRINKA0370050",
        "Record": {
            "docType": "Produce",
            "PRODUCEID": "PRINKA0370050"
          
        }
    }
]

我需要分解成数组,它应该如下所示

 [
    {
        "docType": "Produce",
        "PRODUCEID": "PRINKA0370051"
    },
    
        {
        "docType": "Produce",
        "PRODUCEID": "PRINKA0370038"
    }
    
    
]

我已经尝试了所有的方式,但无法做到。请帮助我

提前致谢

标签: javascriptjson

解决方案


您可以使用map()以下方法轻松完成 -

const myArr = [{
    "Key": "ProducePRINKA0370001",
    "Record": {
      "docType": "Produce",
      "PRODUCEID": "PRINKA0370001"
    }
  },
  {
    "Key": "ProducePRINKA0370038",
    "Record": {
      "docType": "Produce",
      "PRODUCEID": "PRINKA0370038"
    }
  },
  {
    "Key": "ProducePRINKA0370050",
    "Record": {
      "docType": "Produce",
      "PRODUCEID": "PRINKA0370050"

    }
  }
];

const modifiedArr = myArr.map((el) => {
  return el.Record;
})

console.log(modifiedArr)

上面的代码只是映射到您的初始数组(myArr在这种情况下),并且只返回数组Record中每个对象的部分myArr。最后map(),JS 的内置函数所做的是它返回一个数组,该数组包含您在内部提供的函数中返回的所有元素map


推荐阅读