Sobes.tech
Назад к задачам
Junior — Senior
30

Создание собственного метода flatten

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Разработайте свою версию функции flatten, которая преобразует вложенные массивы в плоскую структуру. При этом необходимо реализовать алгоритм без использования готовых методов языка, полагаясь только на базовые конструкции и рекурсию/итерацию. Пример входных данных и ожидаемого результата:

const nested = [1, [2, [3, 4], 5], 6];
// ваш метод flatten(nested) должен вернуть [1, 2, 3, 4, 5, 6]

Требования:

  • Функция должна корректно обрабатывать массивы любой глубины вложенности.
  • Не использовать встроенный Array.prototype.flat или аналогичные готовые решения.
  • Сохранить порядок элементов как в оригинальном массиве.
  • Обеспечить работу как с пустыми массивами, так и с массивами, содержащими различные типы данных (числа, строки, объекты и т.д.).