Array.prototype.toReversed()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2023 г..
Метод 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> |