@montecazazza
Node, GraphQL, React

Куда подевалось значение?

const rArr = (arr, rarr=[]) => {
  const [head, ...tail] = arr;
  if (head == null) {
    console.log(rarr);
    return rarr;
  }
  rArr(tail, [head, ...rarr]);
}

console.log(rArr([1,2,3,0]));


rArr - функция которая реверсит массив рекурсивно. Результатом запуска этого кода является след вывод в консоль:
[ 0, 3, 2, 1 ]
undefined

Куда подевалось значение rarr??? Что не так сделал?
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 2
@montecazazza Автор вопроса
Node, GraphQL, React
Ну да, ну да. Последняя строка функции...
return rArr(tail, [head, ...rarr]);
Ответ написан
Комментировать
devellopah
@devellopah
if (typeof head === 'undefined')

p.s. я бы сделал так
const reverse = arr =>
	arr.length > 1 
		? [arr[arr.length - 1]].concat( reverse(arr.slice(0, -1)) ) 
		: arr[0];
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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