このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
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 2015年7月.
subarray() はTypedArray インスタンスのメソッドで、同じArrayBuffer ストアにおいて、この型付き配列オブジェクトと同じ要素の型をもつ新しい型付き配列を返します。先頭のオフセットは含み、末尾のオフセットは含みません。
In this article
試してみましょう
const uint8 = new Uint8Array([10, 20, 30, 40, 50]);console.log(uint8.subarray(1, 3));// Expected output: Uint8Array [20, 30]console.log(uint8.subarray(1));// Expected output: Uint8Array [20, 30, 40, 50]構文
js
subarray()subarray(begin)subarray(begin, end)引数
返値
新しいTypedArray オブジェクトです。
解説
begin とend によって指定される範囲は、現在の配列に対して有効なインデックスの範囲に丸められます。すなわち、新しい範囲の計算された長さがマイナスなら、ゼロになります。begin かend のどちらかがマイナスなら、配列の最初からではなく、最後からインデックスを参照します。
既存のバッファー上に新しいビューを作っていることにも注意して下さい。すなわち、新しいオブジェクトの内容への変更は、元のオブジェクトに強い影響を与えます。逆もまた同様です。
例
>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® 2026 Language Specification> # sec-%typedarray%.prototype.subarray> |