- JavaScript метод reverse()
- Поддержка браузерами
- JavaScript синтаксис:
- Версия JavaScript
- Значения параметров
- Пример использования
- Array.prototype.reverse()
- Интерактивный пример
- Синтаксис
- Параметры
- Возвращаемое значение
- Описание
- Примеры
- Пример: обращение порядка элементов в массиве
- Спецификации
- Совместимость с браузерами
- Смотрите также
- Found a content problem with this page?
- MDN
- Support
- Our communities
- Developers
- reverse
- См. также
- .reverse ( )
- Пример
- Как пишется
- Как понять
JavaScript метод reverse()
JavaScript метод reverse() позволяет обратить порядок следования элементов массива, таким образом, что первый элемент массива становится последним, а последний элемент первым (размещает элементы объекта Array в обратном порядке). При использовании метода reverse() новый массив не создается, а возвращается ссылка на текущий уже измененный массив.
Обращаю Ваше внимание, что если массив не является непрерывным (существуют разрывы между индексами), то метод reverse() заполняет эти разрывы элементами со значением undefined .
Поддержка браузерами
JavaScript синтаксис:
Версия JavaScript
Значения параметров
Пример использования
var x = [1, 2, 3, "a", "b", "c"]; // инициализируем переменную, содержащую массив x.reverse(); // значение переменной ["c", "b", "a", 3, 2, 1] var y = [1, 2, 3]; // инициализируем переменную, содержащую массив y[5] = 6; // добавляем значение 6 под индексом массива 5 y.reverse(); // значение переменной [6, undefined, undefined, 3, 2, 1]
© 2016-2023 Денис Большаков, замечания и предложения по работе сайта Вы можете направить по адресу basicweb.ru@gmail.com
Кажется, вы используете блокировщик рекламы 🙁
Этот ресурс не является коммерческим проектом и развивается на энтузиазме автора сайта, который посвящает все свое свободное время этому проекту.
Добавьте, пожалуйста, basicweb.ru в исключения блокировщика рекламы, этим вы поможете развитию проекта.
Array.prototype.reverse()
Метод reverse() на месте обращает порядок следования элементов массива. Первый элемент массива становится последним, а последний — первым.
Интерактивный пример
Синтаксис
Параметры
Возвращаемое значение
Описание
Метод reverse() на месте переставляет элементы массива, на котором он был вызван, изменяет массив и возвращает ссылку на него.
Примеры
Пример: обращение порядка элементов в массиве
В следующем примере создаётся массив myArray , содержащий три элемента, а затем массив переворачивается.
var myArray = ['один', 'два', 'три']; myArray.reverse(); console.log(myArray) // ['три', 'два', 'один']
Спецификации
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
Found a content problem with this page?
This page was last modified on 7 нояб. 2022 г. by MDN contributors.
Your blueprint for a better internet.
MDN
Support
Our communities
Developers
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.
reverse
Данный метод изменяет исходный массив.
После его применения порядок элементов в массиве меняется на обратный.
Он возвращает ссылку на измененный массив.
arr = [1,2,3] a = arr.reverse() // [ 3, 2, 1] for(var i=0; i
Обратите внимание, никакого нового массива не создается. Изменяется сам массив arr и возвращается ссылка на измененный массив.
arr = [1,2,3] a = arr.reverse() // [ 3, 2, 1] alert(a === arr) // true
См. также
Не повторяйте моей ошибки — я считал, что этот метод сортирует массив по убыванию. На самом деле, он просто меняет порядок следования элементов на противоположный.
var arr = ['c', 'a', 'b', 'd']; arr.reverse(); alert(arr); // Вернет: d,b,a,c
А я вообще всегда думал, что reverse() генерирует новый массив и возвращает ссылку на него, а старый остаётся без изменений. Если бы не JS-консоль и мой гениальный моск, я бы так и дальше думал.
но всё же, почему разработчики так не сделали? к примеру, хотелось бы делать так:
var a = [1,2,3,4]; var b = a.reverse(); alert(a); // 1,2,3,4 alert(b); // 4,3,2,1
Это фишка производительности или что?
В текущем существующем случае для получения вышеописанного метода приходится делать так:
var a = [1,2,3,4]; var b = a.concat([]); // ну или ещё как нибудь полностью дублировать массив (именно дублировать, создать копию вместо передачи по ссылке, однако тут встаёт вопрос о передаче элементов массива по ссылке, нет времени разбираться) b.reverse(); alert(a); // 1,2,3,4 alert(b); // 4,3,2,1
Что мешает расширить прототип?
Array.prototype.reversedCopy = function()< var arr = []; for( var i = this.length; i--; )< arr.push( this[i] ); >; return arr; >; var a = [1, 2, 3]; var b = a.reversedCopy(); alert(a); // [1, 2, 3] alert(b); // [3, 2, 1]
А зачем? И так же работает
var a = [1,2,3,4];
var b = a.reverse();
console.log(b);
Прототипы — сила. Можно еще reverse() для String задать:
String.prototype.reverse = function () < return this.split('').reverse().join(''); >);
ошибка в последней строке
>);
надо убрать скобку перед ;
Илья спасибо за подробное объяснение, все это работает, а как насчет например если -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() но н должна использовать данный метод
.reverse ( )
Метод reverse ( ) обращает порядок элементов в массиве в обратном направлении, то есть делает первый элемент последним, а последний — первым.
Метод изменяет массив, по отношению к которому вызван, и возвращает ссылку на изменённый массив.
Пример
Скопировать ссылку «Пример» Скопировано
При вызове reverse ( ) для массива [1 , 2 , 3 ] он превратится в [3 , 2 , 1 ] .
const array = [1, 2, 3]array.reverse()console.log(array)// [3, 2, 1]
const array = [1, 2, 3] array.reverse() console.log(array) // [3, 2, 1]
Как пишется
Скопировать ссылку «Как пишется» Скопировано
Метод reverse ( ) не принимает аргументов.
Как понять
Скопировать ссылку «Как понять» Скопировано
Метод reverse ( ) не создаёт новый массив, а изменяет текущий.
Так как метод не создаёт новый массив, а изменяет существующий, то возвращаемое значение — это только ссылка на исходный массив.
Сохраним возвращённое значение в переменную и убедимся, что это ссылка на тот же массив:
const arr = [1, 2, 3]const result = arr.reverse() console.log(result)// [3, 2, 1]console.log(arr)// [3, 2, 1] console.log(result === arr)// true
const arr = [1, 2, 3] const result = arr.reverse() console.log(result) // [3, 2, 1] console.log(arr) // [3, 2, 1] console.log(result === arr) // true
Если у массива есть «дырки» между элементами, то метод развернёт массив с учётом этих «дырок». Создадим массив с «дыркой»:
const array = [1, 2, 3]array[5] = 6 console.log(array)// [ 1, 2, 3, 2 × empty, 6 ] array.reverse()console.log(array)// [6, 2 × empty, 3, 2, 1]
const array = [1, 2, 3] array[5] = 6 console.log(array) // [ 1, 2, 3, 2 × empty, 6 ] array.reverse() console.log(array) // [6, 2 × empty, 3, 2, 1]