TypedArray.prototype.set()

Baseline Widely available

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

set()TypedArray インスタンスのメソッドで、複数の値を指定した配列から入力値を読み込み、型付き配列に格納します。

試してみましょう

構文

js
set(array)
set(array, targetOffset)

set(typedarray)
set(typedarray, targetOffset)

引数

array

値のコピーする配列です。コピー元の配列からのすべての値がコピー先の配列にコピーされます。ただし、コピー元の配列の長さにオフセットを加えた長さがコピー先の配列の長さを超えた場合は、例外が発生します。

typedarray

コピー元の配列が型付き配列の場合、2 つの配列は同じ ArrayBuffer を共有することができます。 JavaScript エンジンは、バッファーのコピー元の範囲をコピー先の範囲にインテリジェントに copy します。

targetOffset 省略可

コピー先の配列へのオフセットで、コピー元の配列からの値の書き込みを開始する位置です。この値を省略した場合は 0 と見なされます(つまり、コピー元の配列はインデックス 0 から始まるコピー先配列の値を上書きします)。

返値

なし (undefined)。

例外

RangeError

以下の条件のいずれかで発生します。

  • targetOffset が大きすぎるか、array または typedarray が大きすぎるために、要素が配列の末尾を越えて格納されることになる。
  • targetOffset が負の数である。

set() の使用

js
const buffer = new ArrayBuffer(8);
const uint8 = new Uint8Array(buffer);

uint8.set([1, 2, 3], 3);

console.log(uint8); // Uint8Array [ 0, 0, 0, 1, 2, 3, 0, 0 ]

仕様書

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

ブラウザーの互換性

BCD tables only load in the browser

関連情報