MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/a3e7b5301fea

TypedArray.from()

この翻訳は不完全です。英語から この記事を翻訳 してください。

概要

配列オブジェクトや反復オブジェクトから新しいtyped arrayを返します。このメソッドはArray.from()とほぼ同じです。

構文

TypedArray.from(source[, mapFn[, thisArg]])

where TypedArray is one of:

Int8Array
Uint8Array
Uint8ClampedArray
Int16Array
Uint16Array
Int32Array
Uint32Array
Float32Array
Float64Array

引数

source
typed arrayに変換する配列オブジェクトか反復オブジェクト
mapFn
オプション。typed arrayのすべての要素上で呼ぶMap関数。
thisArg
オプション。mapFnを実行するときにthisとして使う値。

説明

TypedArray.from()によって下記からtyped arraysを生成できます。:

  • 配列オブジェクト(lengthプロパティとインデックス要素をもつオブジェクト)
  • 反復オブジェクト (MapSetのように要素を取得できるオブジェクト).

TypedArray.from()はオプションの引数mapFnを持ちます。typed arrayの各要素(または作成されているサブクラスオブジェクト)上でmap関数を実行できます。より明らかに、TypedArray.from(obj, mapFn, thisArg)TypedArray.from(obj).map(mapFn, thisArg)とは同じです。

from()メソッドのlengthプロパティは1です。

いくつかの微妙な違いがArray.from()TypedArray.from()の間にあります。:

  • TypedArray.fromに渡された|this|値がコンストラクタでないなら、TypedArray.fromTypeErrorをスローします。Array.fromは新しいArrayを生成することがデフォルトとなっています。
  • TypedArray.from[[Put]]を使用します。Array.from[[DefineProperty]]を使用します。 従って、Proxyオブジェクトとともに動作するとき、handler.definePropertyよりも新しい要素を生成するためにhandler.setを呼びます。
  • fromがイテレータを取得するとき、TypedArray バージョンは最初にイテレータからすべての値を集め、その数を使用して|this|のインスタンスを生成し、そのインスタンスに値を設定します。Array.fromはイテレータから取得して各値を設定し、最後にサイズを設定します。
  • Array.fromがイテレータではない配列を取得するとき、間違いを尊重します。TypedArray.fromは結果が理解しにくいことを保証します。

// Set (iterable object)
var s = new Set([1, 2, 3]);
Uint8Array.from(s);
// Uint8Array [ 1, 2, 3 ]


// String
Int16Array.from("123");                      
// Int16Array [ 1, 2, 3 ]


// Using an arrow function as the map function to
// manipulate the elements
Float32Array.from([1, 2, 3], x => x + x);      
// Float32Array [ 2, 4, 6 ]


// Generate a sequence of numbers
Uint8Array.from({length: 5}, (v, k) => k);    
// Uint8Array [ 0, 1, 2, 3, 4 ]

仕様

仕様 状況 コメント
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of '%TypedArray%.from' in that specification.
Standard Initial definition.

ブラウザ実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート 未サポート 38 (38) 未サポート 未サポート 未サポート
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート 未サポート 未サポート 38.0 (38) 未サポート 未サポート 未サポート

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: shide55
 最終更新者: shide55,