コンテンツにスキップ

JavaScript/Float32Array

出典: フリー教科書『ウィキブックス(Wikibooks)』

Float32Array は、32ビットの浮動小数点数(float32)の型付き配列を表すJavaScriptオブジェクトです。各要素は 32 ビットの浮動小数点数としてアクセス可能で、精度の高い数値を効率的に操作することができます。この配列は、基盤となる ArrayBuffer 上で動作します。

プロパティとメソッド

[編集]

静的プロパティ

[編集]
静的プロパティ
名称解説
Float32Array.BYTES_PER_ELEMENTFloat32Array の各要素のバイト数(32ビット浮動小数点数なので4)を返します。
Float32Array.lengthFloat32Array コンストラクターの length プロパティは0です。型付き配列オブジェクト自体の長さ(要素数)を知りたい場合は、生成したインスタンスの length プロパティを使用します。
Float32Array.nameコンストラクターの名前(この場合は "Float32Array")を文字列として返します。
Float32Array.prototypeFloat32Array オブジェクトのプロトタイプオブジェクトです。Float32Array のインスタンスは、このプロトタイプオブジェクトからプロパティとメソッドを継承します。

静的アクセサ

[編集]

静的メソッド

[編集]

継承関係

[編集]

Float32Arrayのインスタンスプロパティ

[編集]
Float32Arrayのインスタンスプロパティ
名称解説
Float32Array.prototype.BYTES_PER_ELEMENTFloat32Array の各要素が占めるバイト数(32ビット浮動小数点数なので4)を返します。プロトタイプオブジェクトのプロパティとして存在しますが、インスタンスからも直接アクセス可能です。

Float32Arrayのインスタンスアクセサ

[編集]

Float32Arrayのインスタンスメソッド

[編集]
Float32Arrayのインスタンスメソッド
名称解説
Float32Array.prototype.constructor()rFloat32Array オブジェクトのインスタンスを生成したコンストラクター関数、つまり Float32Array 自身を返します。

TypedArrayのインスタンスプロパティ

[編集]

TypedArrayのインスタンスアクセサ

[編集]
名称解説
get TypedArray.prototype.buffer型付き配列が参照する ArrayBuffer を返します。
get TypedArray.prototype.byteLength型付き配列のバイト単位の長さを返します。
get TypedArray.prototype.byteOffset型付き配列が ArrayBuffer 内で開始するバイトオフセットを返します。
get TypedArray.prototype.length型付き配列の要素数を返します。
get TypedArray.prototype[ Symbol.iterator ] 型付き配列の toString() メソッドで使用される、オブジェクトの種類を示す文字列を返します。例えば、Float32Array のインスタンスでは "Float32Array" を返します。

TypedArrayのインスタンスメソッド

[編集]
TypedArrayのインスタンスメソッド
名称解説
TypedArray.prototype.at()指定されたインデックスの要素を返します。負のインデックスも使用可能です。
TypedArray.prototype.constructor()型付き配列のインスタンスを生成したコンストラクター関数を返します。
TypedArray.prototype.copyWithin()配列内の要素のシーケンスをコピーします。
TypedArray.prototype.entries()配列内の各インデックスに対するキーと値のペアを含む新しい Array Iterator オブジェクトを返します。
TypedArray.prototype.every()配列内のすべての要素が指定された関数によって実装されたテストに合格するかどうかをテストします。
TypedArray.prototype.fill()開始インデックスから終了インデックスまでの配列内のすべての要素を静的な値で埋めます。
TypedArray.prototype.filter()指定された関数によって提供されたテストに合格したすべての要素を持つ新しい配列を作成します。
TypedArray.prototype.find()指定されたテスト関数を満たす配列内の最初の要素の値を返します。
TypedArray.prototype.findIndex()指定されたテスト関数を満たす配列内の最初の要素のインデックスを返します。
TypedArray.prototype.findLast()指定されたテスト関数を満たす配列内の最後の要素の値を返します。
TypedArray.prototype.findLastIndex()指定されたテスト関数を満たす配列内の最後の要素のインデックスを返します。
TypedArray.prototype.forEach()配列内の各要素に対して関数を実行します。
TypedArray.prototype.includes()配列が特定の値を含むかどうかを判断し、適切に応じて true または false を返します。
TypedArray.prototype.indexOf()指定された値と等しい配列内の最初の要素のインデックスを返します。
TypedArray.prototype.join()配列内のすべての要素を文字列に結合します。
TypedArray.prototype.keys()配列内の各インデックスのキーを含む新しい Array Iterator を返します。
TypedArray.prototype.lastIndexOf()指定された値と等しい配列内の最後の要素のインデックスを返します。
TypedArray.prototype.map()指定された関数を呼び出した結果を持つ新しい配列を作成します。
TypedArray.prototype.reduce()アキュムレータと配列の各値(左から右へ)に対して関数を適用して、単一の値に減らします。
TypedArray.prototype.reduceRight()アキュムレータと配列の各値(右から左へ)に対して関数を適用して、単一の値に減らします。
TypedArray.prototype.reverse()配列内の要素の順序を反転させます。
TypedArray.prototype.set()指定された配列から複数の値を型付き配列に格納します。
TypedArray.prototype.slice()配列のセクションの浅いコピーを新しい配列オブジェクトに返します。
TypedArray.prototype.some()配列内の少なくとも1つの要素が指定された関数によって実装されたテストに合格するかどうかをテストします。
TypedArray.prototype.sort()配列内の要素をインプレースでソートし、その配列を返します。
TypedArray.prototype.subarray()新しい TypedArray を返し、その要素は現在の型付き配列の指定された開始インデックスから終了インデックスまでの要素です。
TypedArray.prototype.toLocaleString()配列の要素を表すロケール固有の文字列を返します。
TypedArray.prototype.toReversed()元の配列を反転させた新しい配列を返します。
TypedArray.prototype.toSorted()元の配列をソートした新しい配列を返します。
TypedArray.prototype.toString()配列とその要素を表す文字列を返します。
TypedArray.prototype.values()配列内の各インデックスの値を含む新しい Array Iterator オブジェクトを返します。
TypedArray.prototype.with()指定されたインデックスの値を置き換えた新しい配列を返します。
TypedArray.prototype[ Symbol.iterator ] ()配列の値を反復処理するための新しい Array Iterator オブジェクトを返します。

コンストラクタ

[編集]

Float32Array()

[編集]
newFloat32Array(buffer[,byteOffset[,length]])newFloat32Array(length)newFloat32Array(typedArray)newFloat32Array(iterable)
  • 引数
    • buffer: ArrayBuffer または SharedArrayBuffer
    • byteOffset (オプション): バイト単位でのオフセット位置(デフォルトは 0)
    • length (オプション): 配列の要素数
    • length (数値): 配列の要素数を指定する
    • typedArray: 既存の型付き配列を基にする
    • iterable: 配列や反復可能オブジェクト(Map や Set など)
  • 戻り値: 指定された条件に基づく新しい Float32Array

プロパティ

[編集]

Float32Array.BYTES_PER_ELEMENT

[編集]
  • 各要素のバイト長(固定値: 4)

Float32Array.prototype.length

[編集]
  • 配列内の要素数を返す(読み取り専用)

Float32Array.prototype.buffer

[編集]
  • 基盤となる ArrayBuffer を返す

Float32Array.prototype.byteOffset

[編集]
  • ArrayBuffer 内の先頭位置をバイト単位で返す

Float32Array.prototype.byteLength

[編集]
  • バッファの全体のバイト長を返す

メソッド

[編集]

Float32Array.prototype.set()

[編集]
float32Array.set(array[,offset])
  • 引数
    • array: コピー元の配列(型付き配列または通常の配列)
    • offset (オプション): 書き込みの開始インデックス(デフォルトは 0)
  • 戻り値: なし
  • 説明: 指定された配列から要素をコピーして設定する

Float32Array.prototype.subarray()

[編集]
float32Array.subarray(begin[,end])
  • 引数
    • begin: 開始インデックス
    • end (オプション): 終了インデックス(デフォルトは配列の終端)
  • 戻り値: 元の配列の部分範囲を共有する新しい Float32Array

使用例

[編集]
// Float32Arrayの作成constbuffer=newArrayBuffer(16);constfloat32Array=newFloat32Array(buffer);// 配列の要素を設定float32Array[0]=3.14;float32Array[1]=-1.5;console.log(float32Array[0]);// 3.14console.log(float32Array[1]);// -1.5// 配列のコピーconstsubArray=float32Array.subarray(0,1);console.log(subArray[0]);// 3.14

注意点

[編集]
  • Float32Array は 32 ビットの浮動小数点数のみを扱い、他の型の値を代入しようとするとエラーになる
  • バッファのバイト長は Float32Array.BYTES_PER_ELEMENT(4バイト)の倍数である必要がある
  • 高精度な数値計算や、数値の範囲が広いデータを扱う場合に使用される

関連オブジェクト

[編集]

ブラウザサポート

[編集]
  • Chrome 4+
  • Firefox 3.5+
  • Safari 4+
  • Edge 12+

仕様

[編集]
  • ECMAScript 2015 (ES6)
close