Страницы

Поиск по вопросам

четверг, 16 мая 2019 г.

Почему не работает js код?

Есть функция, которая должна переворачивать массив (как метод reverse):
function reversed(arr) { for (var i = arr.length; i > 0; i--) { var elem = arr.pop(); arr.unshift(elem); } return arr; } var testArr = [1, 2, 3, 4, 5, 6, 7, 8]; console.log(reversed(testArr));
Но возвращается исходный массив


Ответ

Ошибка логики - всё равно что пытаться перевернуть стопку, каждый раз беря сверху и подкладывая снизу.
function reversed(arr) { for (var reversed = []; arr.length > 0; reversed.push(arr.pop())); return reversed; } var testArr = [1, 2, 3, 4, 5, 6, 7, 8]; console.log(reversed(testArr));

Комментариев нет:

Отправить комментарий