как я могу преобразовать такой объект
{ "ID_PROC_GD": "1", "DT_INI": "2018-06-06", "CD_GD": "1", "DT_INI_GD": "2018-05-28", ... }
к этому
[ { "name": "DT_INI", "value": "2018-06-06" }, ... ]
Я использую lodash 3.10.1
Вы можете использовать Object.entries() и array#map.
Object.entries()
array#map
let data = { "ID_PROC_GD": "1", "DT_INI": "2018-06-06", "CD_GD": "1", "DT_INI_GD": "2018-05-28"}, result = Object.entries(data).map(([name, value]) => ({name, value})); console.log(result);
Вы можете использовать map
map
let data = { "ID_PROC_GD": "1", "DT_INI": "2018-06-06", "CD_GD": "1", "DT_INI_GD": "2018-05-28"}, result = _.map(data, (value, name) => ({name, value})); console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.min.js"></script>
let obj = { "ID_PROC_GD": "1", "DT_INI": "2018-06-06", "CD_GD": "1", "DT_INI_GD": "2018-05-28" } function getNameValObj(ele) { return {name: ele, value:obj[ele]}; } let objList = _.flatMap(Object.keys(obj), getNameValObj);
map всегда возвращает тип массива, и вы можете использовать и значение, и ключ в итераторе:
_.map(obj, (value, name) => ({name, value}))
const obj = { "ID_PROC_GD": "1", "DT_INI": "2018-06-06", "CD_GD": "1", "DT_INI_GD": "2018-05-28", } const result = _.map(obj, (value, name) => ({ name, value })) console.log(result)