Задать вопрос
@Comnox

Где ошибка при написании полифила для Array.prototype.flat?

Столкнулся с такой проблемой при написании полифила для Array.prototype.flat, что результатом вызова функции через рекурсию является пустой массив, не пойму, как это можно решить не вынося переменную в область видимости выше уровнем:

function flatArray(array) {
   const results = [];
   array.forEach(item => Array.isArray(item) ? flatArray(item) : results.push(item));
   return results;
}

console.log(flatArray([[[[1]]], [2]], 7, 8, [[[9]]])); // 1, 2, 7, 8, 9
  • Вопрос задан
  • 164 просмотра
Подписаться 1 Средний 2 комментария
Решения вопроса 1
0xD34F
@0xD34F
То, что возвращает рекурсивный вызов, тоже в результирующий массив надо засовывать.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы