dimastik1986
@dimastik1986
учусь

Как перевести объект в массив?

У меня есть объект
var obj =  {
	collectors: {
		name: 'collector name',
		item: 21,
		type: 'шт',
		summ: 1323
	},
	flor: {
		name: 'flor name',
		item: 43,
		type: 'ед',
		summ: 3242342
	},
	plate: {
		name: 'plate name',
		item: 211,
		type: 'кг',
		summ: 423442
	}
};


мне необходимо каждый вложенный объект перевести в массив, для получения записи типа
['Наименования', 'кол-во', 'ед.изм', 'цена'],

никак не получается, подскажите пожалуйста!
  • Вопрос задан
  • 89 просмотров
Решения вопроса 2
kshshe
@kshshe
Frontend developer
let array = Object.values(obj).map(({ name, item, type, summ }) => ([ name, item, type, sum ]));

(Писал с телефона, мог отпечататься)
Ответ написан
Комментировать
0xD34F
@0xD34F Куратор тега JavaScript
Обновить существующий объект:

for (const n of Object.keys(obj)) {
  obj[n] = Object.values(obj[n]);
}

Собрать новый:

const newObj = Object
  .entries(obj)
  .reduce((acc, [ k, v ]) => (acc[k] = Object.values(v), acc), {});

// или

const newObj = Object.fromEntries(Object
  .entries(obj)
  .map(n => [ n[0], Object.values(n[1]) ])
);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы