@evgeniy2024

Как с помощью рекурсии преобразовать массив?

Всем привет, помогите пожалуйста

Как из такого
['a', 'b' ,'c']

Сделать
['a', 'ab', 'abc']
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Не надо никакой рекурсии:

arr.map((n, i, a) => a.slice(0, i + 1).join(''))
// или
arr.reduce((acc, n) => (acc.push((acc.at(-1) ?? '') + n), acc), [])

Но, конечно, если очень хочется, то

(function xxx(arr, str = '') {
  if (str.length === arr.length) {
    return [];
  }

  const newStr = str.concat(arr[str.length]);
  return [ newStr, ...xxx(arr, newStr) ];
})(arr)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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