Array.prototype.toReversed()
Baseline2023Newly available
Since July 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
МетодtoReversed()
возвращает новый массив с расположенными в обратном порядке элементами. Являетсякопирующей версией методаreverse()
.
Синтаксис
toReversed()
Параметры
Нет.
Возвращаемое значение
Новый массив, содержащий элементы в обратном порядке.
Описание
МетодtoReversed()
изменяет порядок элементов массива (первый элемент массива становится последним, а последний — первым) и возвращает новый массив.
Когда мы используем методtoReversed()
на массиве спропущенными элементами, методtoReversed()
проитерирует пустые элементы так, как если бы они имели значениеundefined
.
Примеры
Обращение порядка элементов в массиве
В данном примере создаётся массивitems
, содержащий три элемента. Затем создаётся новый массив, в котором элементы расположены в обратном порядке относительно массиваitems
. Массивitems
остаётся без изменений.
const items = [1, 2, 3];console.log(items); // [1, 2, 3]const reversedItems = items.toReversed();console.log(reversedItems); // [3, 2, 1]console.log(items); // [1, 2, 3]
Использование toReversed() на массивах с пропущенными элементами
В результате вызоваtoReversed()
никогда не будет создан массив с пропущенными элементами. Пустые ячейки в исходном массиве заменяются наundefined
в возвращаемом массиве.
console.log([1, , 3].toReversed()); // [3, undefined, 1]console.log([1, , 3, 4].toReversed()); // [4, 3, undefined, 1]
Вызов метода toReversed() на объектах которые не являются массивом
В данном примере создаётся объектarrayLike
, который не является обычным массивом, но обладает свойствомlength
и целочисленными ключами. ПосколькуarrayLike
имеет свойствоlength
равное 3, методtoReversed()
создает новый массив длиной 3. Однако вarrayLike
отсутствуют свойства с ключами '0' и '1'. Поэтому в возвращаемом массиве соответствующие элементы становятсяundefined
.
const arrayLike = { length: 3, unrelated: "foo", 2: 4,};console.log(Array.prototype.toReversed.call(arrayLike));// [4, undefined, undefined]// Индексы '0' и '1' отсутствуют, поэтому они становятся undefined
Спецификации
Specification |
---|
ECMAScript® 2026 Language Specification # sec-array.prototype.toreversed |