如何将嵌套对象作为数组“解包”?

问题描述

我有一个包含可迭代项的对象(键只是日期字符串)。其中一些对象具有多个项目。

我想展平每个对象,以便只保留一个尺寸的对象。

基本上,我希望data看起来像expected

const data = {
//this datestring only has one item
  "1598989834745": {
    "219319571 ": {
      applicantCode: "goc2gp",carrera: "Trabajo Social",code: "219319571 "
    }
  },//this one has two items
  "1598990166911": {
    "215576855": {
      applicantCode: "8e11532",carrera: "Médico Cirujano y Partero",code: "215576855"
    },"217831836": {
      applicantCode: "ybg14pd",code: "217831836"
    }
  }
};

const expected = [
  {
    applicantCode: "goc2gp",code: "219319571 "
  },{
    applicantCode: "8e11532",code: "215576855"
  },{
    applicantCode: "ybg14pd",code: "217831836"
  }
];

我尝试映射Object.keys

function objToArr(obj: object): object[] {
  return Object.keys(obj).map(key => obj[key]);
}

但是当我多次(覆盖两个维度)执行此操作时,它返回以下内容:

[
        {
          '219319571 ': {
            applicantCode: 'goc2gp',carrera: 'Trabajo Social',code: '219319571 '
          }
        },{
          '215576855': {
            applicantCode: '8e11532',carrera: 'Médico Cirujano y Partero',code: '215576855'
          },'217831836': {
            applicantCode: 'ybg14pd',code: '217831836'
          }
        }
      ]
```

解决方法

您可以打几个Object.values电话到达那里。遵循以下原则:

const expected = Object.values(data).map(v => Object.values(v)).flat()

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...