IvanInvanov
@IvanInvanov
Новичок

Как сделать реверс массива?

Добрый день, я хочу сделать реверс своего массива. Написал код, но он не работает и я не могу понять в чём проблема. У меня массив [5, -1, 3, 7, 2, 1] , а должен получится [1, 2, 7, 3, -1, 5].

let arr = [5, -1, 3, 7, 2, 1];
    let temp = 0;
    for(let i = 0, j = arr.length - 1; i < arr.length, j <= 0; i++, j++){
            temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
    }
    console.log(arr);
  • Вопрос задан
  • 1729 просмотров
Решения вопроса 1
@Karpion
1) Не надо гонять цикл до конца, надо только до середины. ИНаче Вы поменяее все элементы местами дважды, так что всё вернётся на место.

2) Из условий
i < arr.length, j <= 0
надо оставить только одно.

3) j надо минусовать, а не плюсовать.

4) И наконец, тут подсказали, что для этого есть встроенная функция, коотрая работает быстрее любого Вашего кода.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Seasle
@Seasle Куратор тега JavaScript
Также, как вариант, вместо .reverse() можно использовать .sort(() => -1).
Ответ написан
Комментировать
@ant13
react-dev
const arr = [5, -1, 3, 7, 2, 1];
const rev_arr = arr.reverse();
console.log(rev_arr);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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