Как перевернуть массив в js
Перейти к содержимому

Как перевернуть массив в js

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 , содержащий три элемента, а затем массив переворачивается.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *