TypedArray.prototype.copyWithin()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.

copyWithin()TypedArray インスタンスのメソッドで、この型付き配列の一部を同じ型付き配列の別の場所にシャローコピーし、この型付き配列の長さを変更せずに返します。このメソッドは Array.prototype.copyWithin() と同じアルゴリズムです。

試してみましょう

構文

js
copyWithin(target, start)
copyWithin(target, start, end)

引数

target

並びのコピー先となるゼロ基点のインデックスで、整数に変換されます。これは start にある要素がコピーされる場所に対応し、start から end までのすべての要素が後続のインデックスにコピーされます。

start

コピー元でコピーを始める位置のゼロ基点のインデックスで、整数に変換されます

end 省略可

コピー元でコピーを終える位置のゼロ基点のインデックスで、整数に変換されますcopyWithin() はここまでをコピーしますが、 end は含みません。

返値

変更された型付き配列です。

解説

詳細については、 Array.prototype.copyWithin() をご覧ください。このメソッドは汎用的ではなく、型付き配列インスタンスに対してのみ呼び出すことができます。

copyWithin() の使用

js
const buffer = new ArrayBuffer(8);
const uint8 = new Uint8Array(buffer);
uint8.set([1, 2, 3]);
console.log(uint8); // Uint8Array [ 1, 2, 3, 0, 0, 0, 0, 0 ]
uint8.copyWithin(3, 0, 3);
console.log(uint8); // Uint8Array [ 1, 2, 3, 1, 2, 3, 0, 0 ]

仕様書

Specification
ECMAScript Language Specification
# sec-%typedarray%.prototype.copywithin

ブラウザーの互換性

BCD tables only load in the browser

関連情報