【JavaScript ECMAScript】TypedArray::TypedArray.prototype.subarrayインスタンスメソッドの使い方
TypedArray.prototype.subarray()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
TypedArray.prototype.subarray()メソッドは、TypedArrayオブジェクトから指定された範囲の要素を切り出し、新しいTypedArrayビューを返すメソッドです。TypedArrayとは、数値データを効率的に格納し操作するために設計された、型付きの配列のようなオブジェクトを指します。
このメソッドが返すビューは、元のTypedArrayが内部的に使用している基盤のArrayBufferを共有します。そのため、新しいメモリ領域を確保することなく、元のデータの一部を効率的に参照することが可能です。
結果として、返された新しいTypedArrayビューの要素を変更すると、元のTypedArrayの対応する要素も同時に変更される点に注意が必要です。これは、独立したデータのコピーを作成するのではなく、同じデータ領域を異なる視点から操作しているためです。
このメソッドは、切り出しを開始するインデックスであるbeginと、切り出しを終了する(ただし、そのインデックスの要素は含まない)インデックスであるendを引数として受け取ります。どちらの引数も省略可能で、省略された場合はデフォルト値が適用されます。TypedArray.prototype.subarray()は、大量のバイナリデータの中から特定の範囲を効率的に抽出し、メモリ効率を保ちながら操作したい場合に役立つ強力な機能です。
構文(syntax)
1const originalTypedArray = new Uint8Array([10, 20, 30, 40, 50]); 2const newSubarray = originalTypedArray.subarray(1, 4); 3// newSubarray は Uint8Array([20, 30, 40]) となる
引数(parameters)
begin = 0, end
- begin: number = 0: 新しいTypedArrayの開始位置のインデックス
- end: number = this.length: 新しいTypedArrayの終了位置のインデックス(このインデックスは含まれません)
戻り値(return)
TypedArray
指定された配列の範囲に相当する新しいTypedArrayビューを返します。このビューは元の配列のデータを共有しており、変更は両方に反映されます。