この記事は編集レビューを必要としています。ぜひご協力ください。
概要
Uint16Array
タイプは、16 ビット符号なし整数値の配列を表します。各要素のバイトオーダーはプラットフォームに依存します。もしコントロールしたい場合は代わりにDataView
を使って下さい。各要素は0で初期化されます。生成された Uint16Array
オブジェクトのメソッドあるいは配列のような表記法 ("[]
") を用いて、要素を参照することができます。
構文
new Uint16Array(length); new Uint16Array(typedArray); new Uint16Array(object); new Uint16Array(buffer [, byteOffset [, length]]);
コンストラクタの構文とパラメータについての詳しい情報はTypedArray
を参照して下さい。
プロパティ
Uint16Array.BYTES_PER_ELEMENT
- 要素一個あたりのバイト数を返します。
Uint16Array
の場合は2です。 - Uint16Array.length
値は3になります
。実際の長さ(要素数)についてはUint16Array.prototype.length
を参照して下さい。Uint16Array.name
- コンストラクタ名を文字列値で返します。
Uint16Array
の場合、"Uint16Array"です
。 Uint16Array.prototype
- TypedArray オブジェクトのプロトタイプです。
-
メソッド
Uint16Array.from()
- 配列状のオブジェクトやイテレート可能なオブジェクトから、新たな
Uint16Array
オブジェクトを生成します。Array.from()
も確かめて下さい。 Uint16Array.of()
- 可変長引数で新しい
Uint16Array
オブジェクトを生成します。Array.of()
も確かめて下さい。
Uint16Array
プロトタイプ
全ての Uint16Array
オブジェクトは %TypedArray%.prototype
を継承しています。
プロパティ
Uint16Array.prototype.constructor
- インスタンスのプロトタイプを作る関数を返します。これは、デフォルトで対応する
Uint16Array
コンストラクタです。 Uint16Array.prototype.buffer
読取専用Uint16Array
オブジェクトによって参照されるArrayBuffer
を返します。構築時に設定され、読取専用となります。Uint16Array.prototype.byteLength
読取専用ArrayBuffer
の開始位置からのUint16Array
オブジェクトの(バイト単位の)長さを返します。構築時に設定され、読取専用となります。Uint16Array.prototype.byteOffset
読取専用ArrayBuffer
の開始位置からのUint16Array
オブジェクトの(バイト単位の)オフセットを返します。構築時に設定され、読取専用となります。Uint16Array.prototype.length
読取専用Uint16Array
オブジェクト内に保持された要素の数を返します。構築時に設定され、読取専用となります。-
メソッド
Uint16Array.prototype.copyWithin()
- 配列内で一連の配列要素をコピーします。
Array.prototype.copyWithin()
も確かめて下さい。 Uint16Array.prototype.entries()
- 配列内で各インデックスに対して、キー/バリュー ペアを含む新しい
Array Iterator
を返します。Array.prototype.entries()
も確かめて下さい。 Uint16Array.prototype.every()
- 配列内のすべての要素が関数によって提供されたテストに合格するかどうかテストを実行します。
Array.prototype.every()
も確かめて下さい。 Uint16Array.prototype.fill()
- 開始位置から終了位置までの配列のすべての要素を固定値で設定します。
Array.prototype.fill()
も確かめて下さい。 Uint16Array.prototype.filter()
- 与えられたフィルタリング関数がtrueを返す配列のすべての要素をもつ新しい配列を生成します。
Array.prototype.filter()
も確かめて下さい。 Uint16Array.prototype.find()
- 配列要素が与えられたテスト関数を満足したら、配列の値を返します。満足しなかった場合、
undefined
を返します。Array.prototype.find()
を確かめて下さい。 Uint16Array.prototype.findIndex()
- 配列要素が与えられたテスト関数を満足したら、配列のインデックスを返します。満足しなかった場合、-1を返します。
Array.prototype.findIndex()
も確かめて下さい。 Uint16Array.prototype.forEach()
- 配列内の各要素に対する関数を呼び出します。
Array.prototype.forEach()
も確かめて下さい。 Uint16Array.prototype.includes()
- typed arrayがある要素を含むかどうか判断し、それに応じて、
true
かfalse
を返します。Array.prototype.includes()
も確かめて下さい。 Uint16Array.prototype.indexOf()
- 指定された値に等しい配列内の要素の最初のインデックスを返します。見つからない場合、-1を返します。
Array.prototype.indexOf()
も確かめて下さい。 Uint16Array.prototype.join()
- すべての配列要素を文字列に結合します。
Array.prototype.join()
も確かめて下さい。 Uint16Array.prototype.keys()
- 配列内の各インデックスに対するキーを含む新しい
Array Iterator
を返します。Array.prototype.keys()
も確かめて下さい。 Uint16Array.prototype.lastIndexOf()
- 指定された値と等しい配列の要素の最後のインデックスを返します。見つからない場合、-1を返します。
Array.prototype.lastIndexOf()
を確かめて下さい。 Uint16Array.prototype.map()
- この配列のすべての要素で与えられた関数を呼び出した結果をもつ新しい配列を生成します。
Array.prototype.map()
も確かめて下さい。 Uint16Array.prototype.move()
未実装TypedArray.prototype.copyWithin()
の以前の非標準バージョンUint16Array.prototype.reduce()
- アキュムレータに対して関数を適用し、隣り合う二つのtyped arrayの要素(左から右へ)は単一の値になります。
Array.prototype.reduce()
も確かめて下さい。 Uint16Array.prototype.reduceRight()
- アキュムレータに対して関数を適用し、隣り合う二つのtyped arrayの要素(右から左へ)は単一の値になります。
Array.prototype.reduceRight()
を確かめて下さい。 Uint16Array.prototype.reverse()
- 配列要素の順番を反転させます。— 最初の要素は最後になり、最後の要素は最初になります。
Array.prototype.reverse()
も確かめて下さい。 Uint16Array.prototype.set()
- 入力値を指定した配列から読み込み、typed array内に複数の値を格納します。
Uint16Array.prototype.slice()
- 配列の一部を取り出して新しい配列を返します。
Array.prototype.slice()
も確かめて下さい。 Uint16Array.prototype.some()
- ある配列の少なくとも 1 つの要素が与えられたテスト関数を満たした場合にtrueを返します。
Array.prototype.some()
も確かめて下さい。 Uint16Array.prototype.sort()
- 配列の要素をソートし、その結果を返します。
Array.prototype.sort()
も確かめて下さい。 Uint16Array.prototype.subarray()
- 与えられた開始位置と終了位置の要素インデックスの新しい
Uint16Array
オブジェクトを返します。 Uint16Array.prototype.values()
- 配列内で各インデックスに対する値を含む新しい
Array Iterator
オブジェクトを返します。Array.prototype.values()
を確かめて下さい。 Uint16Array.prototype.toLocaleString()
- 配列と要素を表すローカライズされた文字列を返します。
Array.prototype.toLocaleString()
も確かめて下さい。 Uint16Array.prototype.toString()
- 配列と要素を表す文字列を返します。
Array.prototype.toString()
も確かめて下さい。 Uint16Array.prototype[@@iterator]()
- 配列内で各インデックスに対する値を含む新しい
Array Iterator
オブジェクトを返します。
例
// From a length var uint16 = new Uint16Array(2); uint16[0] = 42; console.log(uint16[0]); // 42 console.log(uint16.length); // 2 console.log(uint16.BYTES_PER_ELEMENT); // 2 // From an array var arr = new Uint16Array([21,31]); console.log(arr[1]); // 31 // From another TypedArray var x = new Uint16Array([21, 31]); var y = new Uint16Array(x); console.log(y[0]); // 21 // From an ArrayBuffer var buffer = new ArrayBuffer(8); var z = new Uint16Array(buffer, 0, 4);
仕様
仕様書 | 策定状況 | コメント |
---|---|---|
Typed Array Specification | Obsolete | ECMAScript 6 で置き換えられました。 |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'TypedArray constructors' in that specification. |
Standard | ECMA 標準では最初の定義。new 演算子が必要なことが仕様書に含まれました。 |
ECMAScript 2016 Draft (7th Edition, ECMA-262) The definition of 'TypedArray constructors' in that specification. |
ドラフト |
ブラウザ実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本サポート | 7.0 | 4.0 (2) | 10 | 11.6 | 5.1 |
new が必要 |
? | 44 (44) | ? | ? | ? |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 4.0 | (有) | 4.0 (2) | 10 | 11.6 | 4.2 |
new が必要 |
? | ? | 44.0 (44) | ? | ? | ? |
互換性について
ECMAScript 2015 (ES6)から、Uint16Array
コンストラクタでインスタンスを生成する場合、 new
演算子が必要となります。 Uint16Array
を new 演算子を使用せずに関数呼び出しした場合、
TypeError
例外が投げられるでしょう。
var dv = Uint16Array([1, 2, 3]); // TypeError: calling a builtin Uint16Array constructor // without new is forbidden
var dv = new Uint16Array([1, 2, 3]);