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

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

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

作成日: 更新日:

基本的な使い方

TypedArray.prototype.copyWithin()メソッドは、TypedArrayインスタンスの要素を、同じインスタンス内の別の位置にコピーを実行するメソッドです。

このメソッドは、指定された範囲の要素をコピーし、ターゲットの位置にある既存の要素を上書きしますが、TypedArrayの長さ自体は変更しません。配列の要素を効率的に移動または複製したい場合に利用されます。

引数としては、まずtargetが指定され、これは要素のコピーを開始するインデックス、つまりコピー先の開始位置を示します。次にstartが指定され、これはコピー元となる要素の範囲の開始インデックスです。さらに、オプションとしてend引数を指定でき、これはコピー元となる要素の範囲の終了インデックス(このインデックスの要素はコピー範囲には含まれません)を示します。endが省略された場合、コピー元はstartからTypedArrayの末尾までとなります。これらのインデックスには負の値を指定することも可能で、その場合は配列の末尾からのオフセットとして扱われます。例えば、-1は最後の要素、-2は最後から2番目の要素を意味します。

このメソッドは、操作が完了した変更済みのTypedArrayインスタンス自身を返します。TypedArrayのデータを効率的に再配置したり、部分的に複製したりする際に非常に有用であり、特に画像データや音声データなどのバイナリデータをTypedArrayで扱う場合に、メモリ内でデータを操作する柔軟性を提供します。

公式リファレンス: TypedArray.prototype.copyWithin()

構文(syntax)

1const typedArray = new Int8Array([1, 2, 3, 4, 5]);
2typedArray.copyWithin(0, 3, 4);

引数(parameters)

target, start, end = this.length

  • target: number: コピーされた要素を配置する開始位置のインデックス
  • start: number = 0: コピー元の開始位置のインデックス
  • end: number = this.length: コピー元の終了位置のインデックス(このインデックスの要素は含まれません)

戻り値(return)

TypedArray

TypedArray.prototype.copyWithin()メソッドは、配列の特定の部分を配列内の別の位置にコピーし、配列自体を返します。

関連コンテンツ

関連プログラミング言語