Array.reverse(): обратный порядок и мутация
Метод reverse разворачивает порядок элементов существующего массива и возвращает ссылку на этот же массив.
Назначение
Метод reverse разворачивает порядок элементов существующего массива и возвращает ссылку на этот же массив.
Как это работает
Первый элемент становится последним, второй — предпоследним. Значения внутри объектов не меняются, меняется их положение в коллекции. Для сохранения исходника можно развернуть копию.
Пример
const values=[1,2,3];
const result=values.reverse();
console.assert(result===values);
console.assert(JSON.stringify(values)==="[3,2,1]");
Что должно получиться
Обе переменные указывают на массив [3,2,1]. Метод удобен при намеренной мутации, но требует внимания в коде, где исходный порядок используется в другом месте.
Граница применения и частая ошибка
Не присваивайте результат другой переменной в надежде сохранить исходный порядок. Две переменные будут ссылаться на один изменённый массив.
Самостоятельная проверка
Проверьте равенство результата и исходника по ссылке. Затем разверните копию через spread и убедитесь, что первоначальная коллекция осталась без изменений.
JavaScript в песочнице этого сайта не выполняется. Перенесите пример в отдельный учебный файл. Сначала проверьте исходный результат, затем измените входные данные; ошибка проверки означает, что результат отличается от ожидаемого.