使用lodash将对象转换为数组

时间:2018-01-11 17:15:49

标签: javascript arrays object lodash

我需要获得这样的数组

(json-get x '("cognome"))

来自这个对象数组

[
  "CD_DIRECAO",
  "DT_INI_DIRECAO",
  "CD_DEPT",
  "DT_INI_DEPT"
]

4 个答案:

答案 0 :(得分:3)

您可以使用展开式def fit(self, X, y, **_k): ... 的{​​{1}}和map()种方法。

Object.keys

答案 1 :(得分:1)

使用ES6,您可以使用Object#assign和spread来合并对象,然后使用Object#键获取密钥:



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));

console.log(obj);




答案 2 :(得分:1)

使用lodash,您可以使用flatMapkeys

let result = _.flatMap(data, _.keys);

答案 3 :(得分:0)

这可能看起来有点hacky但它​​提供了正确的输出

    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' ]