Данный метод изменяет исходный массив.
После его применения порядок элементов в массиве меняется на обратный.
Он возвращает ссылку на измененный массив.
arr = [1,2,3]
a = arr.reverse() // [ 3, 2, 1]
for(var i=0; i<a.length; i++) {
alert(a[i]) // 3, 2, 1
}
Обратите внимание, никакого нового массива не создается. Изменяется сам массив arr и возвращается ссылка на измененный массив.
arr = [1,2,3]
a = arr.reverse() // [ 3, 2, 1]
alert(a === arr) // true
Не повторяйте моей ошибки - я считал, что этот метод сортирует массив по убыванию. На самом деле, он просто меняет порядок следования элементов на противоположный.
А я вообще всегда думал, что reverse() генерирует новый массив и возвращает ссылку на него, а старый остаётся без изменений. Если бы не JS-консоль и мой гениальный моск, я бы так и дальше думал.
но всё же, почему разработчики так не сделали? к примеру, хотелось бы делать так:
Это фишка производительности или что?
В текущем существующем случае для получения вышеописанного метода приходится делать так:
Отправить комментарий
Приветствуются комментарии:- Полезные.
- Дополняющие прочитанное.
- Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.Для остальных вопросов и обсуждений есть форум.