map() method creates a new typed array with the
results of calling a provided function on every element in this typed array. This method
has the same algorithm as
TypedArray is one of the
typed array types here.
map(callbackFn) map(callbackFn, thisArg)
A function to execute for each element in the typed array. Its return value is added as a single element in the new typed array. The function is called with the following arguments:
The current element being processed in the typed array.
The index of the current element being processed in the typed array.
The typed array
map()was called upon.
A value to use as
callbackFn. See iterative methods.
A new typed array.
map() method calls a provided callback function
callbackFn) once for each element in a typed array, in order, and
constructs a new typed array from the results.
callbackFn is invoked only for indexes of the typed array which have
assigned values; it is not invoked for indexes that are
which have been deleted, or which have never been assigned values.
callbackFn is invoked with three arguments: the value of the
element, the index of the element, and the typed array object being traversed.
thisArg parameter is provided to
will be passed to
callbackFn when invoked, for use as its
this value. Otherwise, the value
undefined will be passed for
use as its
this value. The
this value ultimately observable by
callbackFn is determined according to
the usual rules for determining the
this seen by a function.
map() does not mutate the typed array on which it is called (although
callbackFn, if invoked, may do so).
The range of elements processed by
map() is set before the first
callbackFn. Elements which are appended to the array
after the call to
map() begins will not be visited by
callbackFn. If existing elements of the typed array are changed, or
deleted, their value as passed to
callbackFn will be the value at the
map() visits them; elements that are deleted are not visited.
Mapping a typed array to a typed array of square roots
The following code takes a typed array and creates a new typed array containing the square roots of the numbers in the first typed array.
const numbers = new Uint8Array([1, 4, 9]); const roots = numbers.map(Math.sqrt); // roots is now: Uint8Array [1, 2, 3], // numbers is still Uint8Array [1, 4, 9]
Mapping a typed array of numbers using a function containing an argument
The following code shows how
map() works when a function requiring one
argument is used with it. The argument will automatically be assigned to each element of
the typed array as
map() loops through the original typed array.
const numbers = new Uint8Array([1, 4, 9]); const doubles = numbers.map((num) => num * 2); // doubles is now Uint8Array [2, 8, 18] // numbers is still Uint8Array [1, 4, 9]
|ECMAScript Language Specification |
BCD tables only load in the browser