Javascript 使用lodash将对象转换为数组

Javascript 使用lodash将对象转换为数组,javascript,arrays,object,lodash,Javascript,Arrays,Object,Lodash,我需要得到一个这样的数组 [ "CD_DIRECAO", "DT_INI_DIRECAO", "CD_DEPT", "DT_INI_DEPT" ] 从这个对象数组中 [ { "CD_DIRECAO": "400" }, { "DT_INI_DIRECAO": "1900-01-01" }, { "CD_DEPT": "370" }, { "DT_INI_DEPT": "190

我需要得到一个这样的数组

[
  "CD_DIRECAO",
  "DT_INI_DIRECAO",
  "CD_DEPT",
  "DT_INI_DEPT"
]
从这个对象数组中

[
    {
      "CD_DIRECAO": "400"
    },
    {
      "DT_INI_DIRECAO": "1900-01-01"
    },
    {
      "CD_DEPT": "370"
    },
    {
      "DT_INI_DEPT": "1900-01-01"
    }
]

使用ES6,您可以使用Object#assign and spread合并对象,然后使用Object#Key获取关键点:

const arr=[{“CD_DIRECAO”:“400”},{“DT_INI_DIRECAO”:“1900-01-01”},{“CD_DEPT”:“370”},{“DT_INI_DEPT”:“1900-01-01”}];
const obj=Object.keys(Object.assign({},…arr));

控制台日志(obj)使用ES6,您可以使用Object#assign and spread来合并对象,然后使用Object#Key获取关键点:

const arr=[{“CD_DIRECAO”:“400”},{“DT_INI_DIRECAO”:“1900-01-01”},{“CD_DEPT”:“370”},{“DT_INI_DEPT”:“1900-01-01”}];
const obj=Object.keys(Object.assign({},…arr));
控制台日志(obj)
您可以使用扩展语法的
map()
Object.keys
方法

const data=[{“CD_DIRECAO”:“400”},{“DT_INI_DIRECAO”:“1900-01-01”},{“CD_DEPT”:“370”},{“DT_INI_DEPT”:“1900-01-01”}]
const result=[].concat(…data.map(Object.keys))
console.log(result)
您可以使用扩展语法的
map()
Object.keys
方法

const data=[{“CD_DIRECAO”:“400”},{“DT_INI_DIRECAO”:“1900-01-01”},{“CD_DEPT”:“370”},{“DT_INI_DEPT”:“1900-01-01”}]
const result=[].concat(…data.map(Object.keys))

console.log(result)
这可能看起来有点粗糙,但它提供了正确的输出

    const data = [
        {
          "CD_DIRECAO": "400"
        },
        {
          "DT_INI_DIRECAO": "1900-01-01"
        },
        {
          "CD_DEPT": "370"
        },
        {
          "DT_INI_DEPT": "1900-01-01"
        }
    ];

const newData = data.map(item => _.keys(item)).map(item => item[0]);
console.log(newData); 

这将输出为
['CD_DIRECAO'、'DT_INI_DIRECAO'、'CD_DEPT'、'DT_INI_DEPT']

这可能看起来有点粗糙,但它提供了正确的输出

    const data = [
        {
          "CD_DIRECAO": "400"
        },
        {
          "DT_INI_DIRECAO": "1900-01-01"
        },
        {
          "CD_DEPT": "370"
        },
        {
          "DT_INI_DEPT": "1900-01-01"
        }
    ];

const newData = data.map(item => _.keys(item)).map(item => item[0]);
console.log(newData); 
这将使输出为
['CD_DIRECAO'、'DT_INI_DIRECAO'、'CD_DEPT'、'DT_INI_DEPT']

以及您可以使用的lodash,并且:

使用lodash,您可以使用:


最干净的回答,最干净的回答。