Uint32Array

草案
このページは完成していません。

Uint32Array タイプは、32 ビット符号なし整数値の配列を表します。

これが設定されると、オブジェクトのメソッドあるいは配列の添字構文 (括弧を用いる表記) を用いて、配列の要素を参照することが可能になります。

コンストラクタの概要

注意: 以下のメソッドにおいて TypedArray は、任意の 型付き配列オブジェクトのタイプ を表します。
Uint32Array Uint32Array(unsigned long length);
Uint32Array Uint32Array(TypedArray array);
Uint32Array Uint32Array(sequence<type> array);
Uint32Array Uint32Array(ArrayBuffer buffer, optional unsigned long byteOffset, optional unsigned long length);

メソッドの概要

注意: 以下のメソッドにおいて TypedArray は、任意の 型付き配列オブジェクトのタイプ を表します。
void set(TypedArray array, optional unsigned long offset);
void set(type[] array, optional unsigned long offset);
Uint32Array subarray(long begin, optional long end);

属性

属性 種類 説明
length unsigned long
配列内の要素数です。読み取り専用です。

定数

要素のサイズ

定数 説明
BYTES_PER_ELEMENT 4 配列の各要素のサイズをバイト数で表します。

コンストラクタ

新たな Uint32Array オブジェクトを返します。

Uint32Array Uint32Array(
  unsigned long length
);

Uint32Array Uint32Array(
  TypedArray array
);

Uint32Array Uint32Array(
  sequence<type> array
);

Uint32Array Uint32Array(
  ArrayBuffer buffer,
  optional unsigned long byteOffset,
  optional unsigned long length
);
パラメータ
length
バイト配列内の要素数です。省略した場合、配列ビューの長さはバッファの長さと同じになります。
array
新たな ArrayBuffer にコピーを行う、任意の型付き配列タイプの (Int16Array のような) オブジェクト、または特定のタイプのオブジェクトがひと続きになったものです。コピー元の配列内にある各値は、新しい配列へコピーされる前に 32 ビット符号なし整数値に変換されます。
buffer
新たな Uint32Array オブジェクトの記憶領域として用いる、既存の ArrayBuffer です。
byteOffset
指定されたバッファ内で新たなビューが参照する、最初のバイト位置を示すオフセットをバイト単位で示します。省略した場合、バッファでの Uint32Array のビューは最初のバイト位置から参照し始めます。
戻り値

指定されたデータバッファを示す、新たな Uint32Array オブジェクトを返します。

注釈

コンストラクタ一覧の最初の構文 (lengh のみを受け入れるもの) は、指定された数の 32 ビット符号なし整数値を保持することができる新たな ArrayBuffer オブジェクトを作成し、さらにそのバッファを参照する型付き配列のビューも作成して返します。length は、このような場合に指定する必要があります。

2 番目の構文は、各要素の値が 32 ビット符号なし整数値に変換されていること以外は指定された配列の複製となる、新たな ArrayBuffer オブジェクトを作成します。

3 番目の構文は同様に、各要素の値が 32 ビット符号なし整数値に変換されていること以外は指定された JavaScript 配列の複製となる、新たな ArrayBuffer オブジェクトを作成します。

最後のコンストラクタ構文は、指定された ArrayBuffer を記憶領域として用いる、新たな Uint32Array オブジェクトを作成します。これは、既存のバッファに異なる形式でアクセスすることを可能にします。byteOffsetlength のパラメータを指定した場合は、バッファの一部分のみに対するビューを作成することができます。

発生する例外
INDEX_SIZE_ERR
指定された byteOffset が要素のサイズの倍数ではない、または指定されたビューにおいて byteOffset および length の結果が、バッファの終端を超えることを示します。

メソッド

set()

指定された配列から入力値を読み取り、それら複数の値を型付き配列に格納します。

void set(
  TypedArray array,
  optional unsigned long offset
);

void set(
  type[] array,
  optional unsigned long offset
);
パラメータ
array
値のコピー元になる配列です。コピー元の配列の長さにオフセットの値を加えた結果がコピー先の配列のサイズを超える場合 (このとき例外が発生します) を除き、コピー元の配列からすべての値が宛先の配列にコピーされます。コピー元の配列が型付き配列である場合、2 つの配列は同一の潜在的な ArrayBuffer を共有することがあります。ブラウザは、コピー元のバッファ範囲をインテリジェントにコピー先範囲へコピーします。
offset Optional
コピー先の配列で、コピー元の配列から得た値を書き込み始める位置を示すオフセットです。この値を省略した場合は、0 が指定されたとみなします。よってコピー先の配列の添字 0 から、コピー元の配列の値による上書きが始まります。

subarray()

この Uint32Array ビューのために、ArrayBuffer 領域の新たな Uint32Array ビューを作成します。

Uint32Array subarray(
  long begin,
  optional long end
);
パラメータ
begin
配列内で、新たな Uint32Array によって参照される最初の要素を示すオフセットです。
end Optional
配列内で、新たな Uint32Array によって参照される最後の要素を示すオフセットです。省略した場合は、begin で指定された要素から最後の要素までのすべてが新たなビューに含まれます。
注釈

begin および end で指定された範囲は、カレントの配列で有効な添字の範囲に修正されます。例えば新たな配列の長さの算出値が負数になる場合は、0 に修正されます。beginend のいずれかが負数である場合は、配列の先頭からの添字ではなく末尾からの添字を指します。

注意: このメソッドは既存のバッファに対する新たなビューを作成することを念頭に置いてください。新たなオブジェクトの内容物を変更すると元のオブジェクトにも影響を与えますし、その逆も成立します。

参考情報

Document Tags and Contributors

Contributors to this page: ethertank, yyss
最終更新者: ethertank,