@ivandao

Как красиво сделать преобразование массива объектов в массив?

Как красиво сделать преобразование?
const array = [
  {
    elements: [1, 2, 4, 9],
  },
  {
    elements: [3, 5],
  },
];

// На выходе - [1, 2, 4, 9, 3, 5]
// Требуется что-то типа такого
array .map((obj) => ...obj.elements);
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
Seasle
@Seasle Куратор тега JavaScript
array.map(Object.values).flat(2);
или
array.map(entry => entry.elements).flat();
или
array.reduce((acc, entry) => [...acc, ...entry.elements], []);

или как подсказал WbICHA или дал ответ Arnold Schwarzenegger
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
rpsv
@rpsv
делай либо хорошо, либо никак
const array = [
  {
    elements: [1, 2, 4, 9],
  },
  {
    elements: [3, 5],
  },
];
const ret = [];
array.forEach((obj) => {
  ret.splice(0, 0, ...obj.elements);
});


А зачем именно красиво то?
Ответ написан
Комментировать
@VladimirAsmo
array.reduce((acc, curr) => acc.concat(curr.elements), []);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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