【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で扱う場合に、メモリ内でデータを操作する柔軟性を提供します。
構文(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()メソッドは、配列の特定の部分を配列内の別の位置にコピーし、配列自体を返します。