Итак, мы практикуем функциональный javascript в моем классе программирования с этим заданием, и я просто не могу заставить его работать правильно. Любые советы по работе с этим кодом будут оценены по достоинству. Для меня было дано все, кроме тела. Вот что я придумал: (.. Он всегда посылает мне только первое содержимое индексного массива, а не все из них обращенное я попытался изменить егоРекурсивный реверсивный массив Javascript
if(arr.length <= 1) return arr;
но никогда не попадает в базовый вариант)
function ReverseArray(arr) {
//base case
if(arr.length == 1)
{
return arr[0];
}
if(arr.length == 0)
{
return 0;
}
var head = arr.pop;
var newArr = [head, ReverseArray(arr)];
return newArr;
}
если (arr.length = 1) НЕПРАВИЛЬНО и если (arr.length = 0) неправильно, Вы назначаете – epascarello
Удаляется мой ответ, потому что я понял, что вы должны были использовать рекурсию. – Andy
Даже если ваша функция работала, ваша функция возвращает массив, поэтому после одной итерации вы будете иметь это '[end0, [....]]'. После двух итераций вы будете иметь это '[end0, [end1, [...]]]', и он будет продолжать вложенные массивы дальше и дальше. Ваш подход не будет работать. Вам нужен новый дизайн. Возможно, вы хотите использовать '.concat()', чтобы добавить два массива вместе, а не встраивать один в другой. Если вам нужна помощь в новом дизайне, вам нужно будет лучше описать правила назначения, так как 'arr.reverse()' уже существует для этого. – jfriend00