JavaScript метод reverse()
JavaScript метод reverse() позволяет обратить порядок следования элементов массива, таким образом, что первый элемент массива становится последним, а последний элемент первым (размещает элементы объекта Array в обратном порядке). При использовании метода reverse() новый массив не создается, а возвращается ссылка на текущий уже измененный массив.
Обращаю Ваше внимание, что если массив не является непрерывным (существуют разрывы между индексами), то метод reverse() заполняет эти разрывы элементами со значением undefined .
Поддержка браузерами
| Метод | Chrome | Firefox | Opera | Safari | IExplorer | Edge |
|---|---|---|---|---|---|---|
| reverse() | Да | Да | Да | Да | Да | Да |
JavaScript синтаксис:
Версия JavaScript
Значения параметров
Пример использования
Кажется, вы используете блокировщик рекламы 🙁
Этот ресурс не является коммерческим проектом и развивается на энтузиазме автора сайта, который посвящает все свое свободное время этому проекту.
reverse
Данный метод изменяет исходный массив.
После его применения порядок элементов в массиве меняется на обратный.
Он возвращает ссылку на измененный массив.
Обратите внимание, никакого нового массива не создается. Изменяется сам массив arr и возвращается ссылка на измененный массив.
См. также
Не повторяйте моей ошибки — я считал, что этот метод сортирует массив по убыванию. На самом деле, он просто меняет порядок следования элементов на противоположный.
А я вообще всегда думал, что reverse() генерирует новый массив и возвращает ссылку на него, а старый остаётся без изменений. Если бы не JS-консоль и мой гениальный моск, я бы так и дальше думал.
но всё же, почему разработчики так не сделали? к примеру, хотелось бы делать так:
Это фишка производительности или что?
В текущем существующем случае для получения вышеописанного метода приходится делать так:
Что мешает расширить прототип?
А зачем? И так же работает
var a = [1,2,3,4];
var b = a.reverse();
console.log(b);
VM81:3 (4) [4, 3, 2, 1]
Прототипы — сила. Можно еще reverse() для String задать:
ошибка в последней строке
>);
надо убрать скобку перед ;
Илья спасибо за подробное объяснение, все это работает, а как насчет например если -123? чтобы вернуло -321?
вот мой код
var x = 123;
var reverse = function (x) <
var n = x.toString();
var rev = [];
for (var i = n.length-1; i >=0; i—) <
rev+=n[i]
>
return parseInt(rev)
ФУНКЦИЯ ВОЗВРАЩАЕТ ЗНАЧЕНИЕ — ЗНАЧИТ ПРОСТОЙ ЕЕ ВЫЗОВ НИЧЕГО НЕ ДАСТ!!
НАДО ПРИСВОИТЬ ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ ПЕРЕМЕННОЙ. Т.Е
а потом распечатать
и не обязательно в функции обьявлять переменную rev как массив,
так как вместо числа фунция вернет не число, а массив, что не есть хорошо.
т.е. окончательно код функции вместе с ее вызовом будет такая
var x = 123;
var reverse = function (x) <
var n = x.toString();
var rev = «»;
for (var i = n.length-1; i >=0; i—) rev+=n[i];
return parseInt(rev);
>
document.write(x+»»);
y=reverse(x);
document.write(y+»»);
Могёт кто нибудь подсказать зачем нужны скобки у reverse()
потому что это метод, а не свойство ))
Помогите пожалуйста! Мне надо на JS написать функцию которая будет работать аналогично методу reverse() но н должна использовать данный метод
Array.prototype.reverse()
Метод reverse() на месте обращает порядок следования элементов массива. Первый элемент массива становится последним, а последний — первым.
Источник этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, скопируйте https://github.com/mdn/interactive-examples и отправьте нам запрос на перенос.
Синтаксис
Параметры
Возвращаемое значение
Описание
Метод reverse() на месте переставляет элементы массива, на котором он был вызван, изменяет массив и возвращает ссылку на него.
Примеры
Пример: обращение порядка элементов в массиве
В следующем примере создаётся массив myArray , содержащий три элемента, а затем массив переворачивается.