Array.prototype.toReversed()

Baseline 2023

Newly available

Since July 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Array 인스턴스의 toReversed() 메서드는 reverse()에 대응되는 복사 메서드입니다. 이 메서드는 요소들을 반대로 뒤집은 새로운 배열을 반환합니다.

구문

js
toReversed()

반환 값

역순으로 정렬된 새로운 배열을 반환합니다.

설명

toReversed() 메서드는 호출한 배열 객체의 요소를 반대로 변경하고 새로운 배열을 반환합니다.

희소 배열에서 사용할 때, toReversed() 메서드는 빈 슬롯을 undefined 값으로 간주하고 반복합니다.

toReversed() 메서드는 일반화되어 있습니다. this 값이 length 속성과 정수로 키가 지정된 속성을 가지고 있다고 기대합니다.

예제

배열의 요소를 반대로 뒤집기

다음 예제는 세 개의 요소를 가진 items 배열을 생성하고, 이를 반대로 뒤집은 새로운 배열을 생성합니다. items 배열은 변경되지 않습니다.

js
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가 됩니다.

js
console.log([1, , 3].toReversed()); // [3, undefined, 1]
console.log([1, , 3, 4].toReversed()); // [4, 3, undefined, 1]

배열이 아닌 객체에서 toReversed() 호출하기

toReversed() 메서드는 thislength 속성을 읽습니다. 그런 다음 length - 10 사이의 각 인덱스를 내림차순으로 방문하고, 원래 배열의 해당 인덱스의 값을 새 배열의 해당 인덱스에 추가합니다.

js
const arrayLike = {
  length: 3,
  unrelated: "foo",
  2: 4,
};
console.log(Array.prototype.toReversed.call(arrayLike));
// [4, undefined, undefined]
// '0'번과 '1'번 인덱스가 없기 때문에 undefined가 됩니다.

명세서

Specification
ECMAScript Language Specification
# sec-array.prototype.toreversed

브라우저 호환성

BCD tables only load in the browser

같이 보기