TypedArray.from()
 The TypedArray.from() method creates a new typed array from an array-like or iterable object. This method is nearly the same as Array.from(). 
Syntax
// Arrow function TypedArray.from(arrayLike, (element) => { ... } ) TypedArray.from(arrayLike, (element, index) => { ... } ) // Mapping function TypedArray.from(arrayLike, mapFn) TypedArray.from(arrayLike, mapFn, thisArg) // Inline mapping function TypedArray.from(arrayLike, function mapFn(element) { ... }) TypedArray.from(arrayLike, function mapFn(element, index) { ... }) TypedArray.from(arrayLike, function mapFn(element) { ... }, thisArg) TypedArray.from(arrayLike, function mapFn(element, index) { ... }, thisArg)
Where TypedArray is one of:
- Int8Array
- Uint8Array
- Uint8ClampedArray
- Int16Array
- Uint16Array
- Int32Array
- Uint32Array
- Float32Array
- Float64Array
- BigInt64Array
- BigUint64Array
Parameters
- arrayLike
-  An array-like or iterable object to convert to a typed array. 
- 
mapFnOptional
-  Map function to call on every element of the typed array. 
- 
thisArgOptional
-  Value to use as thiswhen executingmapFn.
Return value
A new TypedArray instance.
Description
TypedArray.from() lets you create typed arrays from:
-  array-like objects (objects with a lengthproperty and indexed elements); or
-  iterable objects (objects where you can get its elements, such as MapandSet).
 TypedArray.from() has the optional parameter mapFn, which allows you to execute a map() function on each element of the typed array (or subclass object) that is being created. This means that the following are equivalent: 
- TypedArray.from(obj, mapFn, thisArg)
- 
TypedArray.from(Array.prototype.map.call(obj, mapFn, thisArg)).
The length property of the from() method is 1.
Differences from Array.from()
 Some subtle distinctions between Array.from() and TypedArray.from(): 
-  If the thisArgvalue passed toTypedArray.from()is not a constructor,TypedArray.from()will throw aTypeError, whereArray.from()defaults to creating a newArray.
-  TypedArray.from()uses[[Put]]whereArray.from()uses[[DefineProperty]]. Hence, when working withProxyobjects, it callshandler.setto create new elements rather thanhandler.defineProperty().
-  When the sourceparameter is an iterator, theTypedArray.from()first collects all the values from the iterator, then creates an instance ofthisArgusing the count, then sets the values on the instance.Array.from()sets each value as it receives them from the iterator, then sets itslengthat the end.
-  When Array.from()gets an array-like which isn't an iterator, it respects holes.TypedArray.from()will ensure the result is dense.
Examples
From an iterable object (Set)
const s = new Set([1, 2, 3]); Uint8Array.from(s); // Uint8Array [ 1, 2, 3 ]
From a string
Int16Array.from('123'); // Int16Array [ 1, 2, 3 ]
Use with arrow function and map
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 ]
Specifications
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
| from | 45 | 14 | 38 | No | No | 10 | No | No | 38 | No | 10 | No | 
See also
- A polyfill of TypedArray.fromis available incore-js
- TypedArray.of()
- Array.from()
- Array.prototype.map()
- A polyfill
    © 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from