Динамическое преобразование объекта в массив

Рейтинг: 0Ответов: 1Опубликовано: 14.06.2023
const obj = {
  AREA_OBJECTS: '10',
  ELECTRICITY: '20',
  EXTERNAL_TRANSPORT: '30',
  SINGLE_WELL: '40',
};

хочу получить такой массив

const array = [
   {id:AREA_OBJECTS, value:'10'},
   {id:ELECTRICITY, value:'20'},
   {id:EXTERNAL_TRANSPORT, value:'30'},
   {id:SINGLE_WELL, value:'40'}
 ]

мой вариант

Object.keys(obj).forEach((a) => {
  return {
    id: Object.values(obj[a])[0],
    value: obj[a],
  };
});

Ответы

▲ 1

С помощью метода Object.entries можно получить список пар ключ-значение

Дальше с помощью метода map отобразить полученный массив на массив с нужными элементами:

const obj = {
  AREA_OBJECTS: '10',
  ELECTRICITY: '20',
  EXTERNAL_TRANSPORT: '30',
  SINGLE_WELL: '40',
};

console.log(Object.entries(obj).map(([id, value]) => ({
  id,
  value
})))