【JavaScript ECMAScript】Array::Array.prototype.copyWithinインスタンスメソッドの使い方
Array.prototype.copyWithin()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Array.prototype.copyWithin()メソッドは、配列内の指定範囲の要素を、同じ配列内の別の位置にコピーし、既存の要素を上書きするメソッドです。配列の長さを変更することなく、効率的に要素を再配置する場合に利用されます。
使用方法は arr.copyWithin(target, start, end) です。target はコピー先の開始インデックス、start はコピー元の開始インデックスを示します。end はコピー元の終了インデックスの直前であり、このインデックスの要素はコピー対象に含まれません。end を省略した場合、配列の末尾までがコピー元として扱われます。
target、start、end の各引数には負のインデックスも指定可能です。負のインデックスは、配列の末尾からのオフセットとして解釈され、例えば -1 は配列の最後の要素を指します。
copyWithin() メソッドは、元の配列の内容を直接変更(インプレース操作)し、その変更された配列自身を返します。新しい配列を生成せず、既存のデータを効率的に操作するため、メモリ効率を重視するシステム開発で配列要素の再配置に役立ちます。
公式リファレンス: Array.prototype.copyWithin()
構文(syntax)
1[0, 1, 2, 3, 4, 5].copyWithin(0, 3, 5);
引数(parameters)
target, start = 0, end = this.length
- target: コピーした要素の配置先となるインデックスを指定します。
- start = 0: コピー元の配列の開始インデックスを指定します。省略した場合、0になります。
- end = this.length: コピー元の配列の終了インデックスを指定します。省略した場合、配列の末尾になります。
戻り値(return)
Array
このメソッドは、配列の一部を、同じ配列内の別の位置にコピーした結果である、変更された配列自体を返します。