Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】TypedArray::TypedArray.prototype.subarrayインスタンスメソッドの使い方

TypedArray.prototype.subarray()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

TypedArray.prototype.subarray()メソッドは、TypedArrayオブジェクトから指定された範囲の要素を切り出し、新しいTypedArrayビューを返すメソッドです。TypedArrayとは、数値データを効率的に格納し操作するために設計された、型付きの配列のようなオブジェクトを指します。

このメソッドが返すビューは、元のTypedArrayが内部的に使用している基盤のArrayBufferを共有します。そのため、新しいメモリ領域を確保することなく、元のデータの一部を効率的に参照することが可能です。

結果として、返された新しいTypedArrayビューの要素を変更すると、元のTypedArrayの対応する要素も同時に変更される点に注意が必要です。これは、独立したデータのコピーを作成するのではなく、同じデータ領域を異なる視点から操作しているためです。

このメソッドは、切り出しを開始するインデックスであるbeginと、切り出しを終了する(ただし、そのインデックスの要素は含まない)インデックスであるendを引数として受け取ります。どちらの引数も省略可能で、省略された場合はデフォルト値が適用されます。TypedArray.prototype.subarray()は、大量のバイナリデータの中から特定の範囲を効率的に抽出し、メモリ効率を保ちながら操作したい場合に役立つ強力な機能です。

公式リファレンス: 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ビューを返します。このビューは元の配列のデータを共有しており、変更は両方に反映されます。

関連コンテンツ

関連プログラミング言語