angular - TypeScript:将数组的对象组合成一个特定的JSON

我正在循环遍历一组对象,并尝试将它们组合到特定的 JSON:

对象数组:

[
    {
    'code': 'LA',
    'name': 'Local administrator',
    'id': 1
    },
    
    {
    'code': 'SA',
    'name': 'System administrator',
    'id': 2
    }
]

我怎样才能将它们结合起来并拥有这样的东西?

[
   {
      "role":{
         "code":"LA",
         "name":"Local administrator",
         "id":1
      }
   },
   {
      "role":{
         "code":"SA",
         "name":"System administrator",
         "id":2
      }
   }
]

I am trying here if you like to help please fork this: https://www.typescriptlang.org/play?ts=4.6.2&ssl=41&ssc=2&pln=26&pc=1#code/AQGwpgLsCGBOvQJ7ALzANoG8CwAoYBA5AMYD2AJmIQFzCEAyAgoQDR4F0B20AtlbQ1LFoIGOR4BLThIDOEBBFKxW7IhPI1gARnYBfFsBz4iZSpsIBlZm2Nde-OhcRywPMZOlyFSlbcLrNACY9AF0Abjx2cCgIVwAHC2gANzBGeCRaaE5kNExdCPxo4FieOIAlUnAZTOzUDHDI-DgERAA6ADMlAFFoYgALAApyaAhoVAA+Q1Vi+IqquvRWpZLyyrAZA2HRhvxdAEoC9hXElLSW9EJYNcIQuqMOJdaVufW9AuAyThk11pBSAHMBsdkql0ogDo0APQAKmAfVIAHcPllgABJYD-SDFPpgYCdEB-BFSf7AWDrACuIAgAH5gNDIXgYY10NN7hwCAAiK7gDnUNnsjgc0xgXkcpgcmwC9kc7h8UX0IQidxSWTyEZKCXTKUc9S8nS2Di6ab6VlaznckV8s3S4Wiqyag0CmX2O3OErKzxqxSwB1SwW66jBR3AI22UMhRr0oA

回答1

映射每个数组,为每个元素返回一个新对象:

array.map((role) => ({ role }));

({ role })({ role: role }) 的缩写。有括号以便对象字面量不会与箭头函数的主体混淆。

let array = [{
   'code': 'LA',
   'name': 'Local administrator',
   'id': 1
 }, {
   'code': 'SA',
   'name': 'System administrator',
   'id': 2
 }];

console.log(array.map((role) => ({ role })));

相似文章

最新文章