TypedArray.prototype.subarray()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

subarray() 메서드는 이 TypedArray 객체와 동일한 ArrayBuffer 저장소에 동일한 요소의 타입을 가진 새로운 TypedArray를 반환합니다. 시작 오프셋은 포함하고 마지막 오프셋은 제외합니다. TypedArray는 타입이 지정된 배열 유형 중 하나입니다.

시도해보기

구문

js
subarray()
subarray(begin)
subarray(begin, end)

매개변수

begin Optional

시작할 요소입니다. 오프셋 값은 포함되어 있습니다. 이 값을 명시하지 않으면 배열 전체가 새로운 뷰에 포함됩니다.

end Optional

마지막 요소입니다. 오프셋 값은 제외합니다. 이 값을 명시하지 않으면 begin에 지정된 요소부터 배열 끝까지 모든 요소가 새로운 뷰에 포함됩니다.

반환 값

새로운 TypedArray 객체.

설명

beginend으로 명시된 범위는 현재 배열의 유효한 인덱스 범위로 고정됩니다. 새 배열의 계산된 길이가 음수인 경우 0으로 고정됩니다. begin 또는 end가 음수인 경우 배열의 시작이 아닌 끝의 인덱스를 참조합니다.

또한 명심하셔야 할 점은 기존 버퍼에 새로운 뷰(view)를 생성하는 것뿐입니다. 새 객체의 내용을 변경하면 원래 객체에 영향을 미치며 그 반대의 경우도 마찬가지입니다.

예제

subarray() 메서드 사용하기

js
const buffer = new ArrayBuffer(8);
const uint8 = new Uint8Array(buffer);
uint8.set([1, 2, 3]);

console.log(uint8); // Uint8Array [ 1, 2, 3, 0, 0, 0, 0, 0 ]

const sub = uint8.subarray(0, 4);

console.log(sub); // Uint8Array [ 1, 2, 3, 0 ]

명세서

Specification
ECMAScript Language Specification
# sec-%typedarray%.prototype.subarray

브라우저 호환성

BCD tables only load in the browser

같이 보기