bemdev
@bemdev

Как развернуть массив в объекты?

Добрый день, коллеги!

Подскажите мне тупарьку, как мне добиться нужного результата.

Есть массив

[
  { code: 'error' },
  [
    { code: 'error' },
    { code: 'error' }
  ],
  {}
]


Сначала я его фильтрую от пустых обьектов через .filter, и нахожу все элементы которые массив через Array.isArray(). Не могу понять как мне развернуть элемент который массив в несколько объектов и разместить его в основном массиве.

return errors.concat(
        warning.validateAll(ast),
        grid.validateAll(ast),
        text.validateAll(ast)
    ).filter(e => {
        if (e.code) return e;

        if (Array.isArray(e)) {
            console.log(e); // тут хочу развернуть этот элемент
        }
    });
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
twobomb
@twobomb
var arr = [
  { code: 'error' },
  [
    { code: 'error2' },
    { code: 'error3' }
  ],
  {}
];
arr = arr.flat(Infinity).filter( e => e.code)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
yarkov
@yarkov Куратор тега JavaScript
https://github.com/yarkovaleksei/toster-extension
Возможно вам поможет метод flat
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
26 янв. 2020, в 05:37
65000 руб./за проект
26 янв. 2020, в 01:08
9700 руб./за проект
26 янв. 2020, в 00:25
10000 руб./за проект