TypedArray.prototype.subarray()
subarray()
メソッドは、同じ ArrayBuffer
ストアで、この TypedArray オブジェクトと同じ要素の型をもつ新しい TypedArray を返します。先頭のオフセットは含み、末尾のオフセットは含みません。 TypedArray は型付き配列型の一つです。
試してみましょう
構文
subarray()
subarray(begin)
subarray(begin, end)
引数
begin
省略可-
先頭の要素です。この位置は含まれます。この値が指定されていない場合、配列全体が新しいビューに含まれます。
end
省略可-
末尾の要素です。この位置は含まれません。この値が指定されていない場合、
begin
によって指定された要素から配列の最後まですべての要素が新しいビューに含まれます。
返値
新しい TypedArray
オブジェクトです。
解説
begin
と end
によって指定される範囲は、現在の配列に対して有効なインデックスの範囲に丸められます。すなわち、新しい範囲の計算された長さがマイナスなら、ゼロになります。 begin
か end
のどちらかがマイナスなら、配列の最初からではなく、最後からインデックスを参照します。
既存のバッファ上に新しいビューを作っていることにも注意して下さい。すなわち、新しいオブジェクトの内容への変更は、元のオブジェクトに強い影響を与えます。逆もまた同様です。
例
subarray() メソッドの使用
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