The filter()
method creates a new typed array with all
elements that pass the test implemented by the provided function. This method has the
same algorithm as Array.prototype.filter()
. TypedArray is one of
the typed
array types here.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Syntax
typedarray.filter(callback[, thisArg])
Parameters
callback
- Function to test each element of the typed array. Invoked with arguments
(element, index, typedarray)
. Returntrue
to keep the element,false
otherwise. thisArg
Optional- Value to use as
this
when executingcallback
.
Return value
A new typed array with the elements that pass the test.
Description
The filter()
method calls a provided callback
function once for each element in a typed array, and constructs a new typed array of all
the values for which callback
returns a value that coerces to true
.
callback
is invoked only for indexes of the typed array which
have assigned values; it is not invoked for indexes which have been deleted or which
have never been assigned values. Typed array elements which do not pass the
callback
test are skipped, and are not included in the new typed
array.
callback
is invoked with three arguments:
- the value of the element
- the index of the element
- the typed array object being traversed
If a thisArg
parameter is provided to filter()
, it
will be passed to callback
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
callback
is determined according to the usual rules for
determining the this
seen by a function.
filter()
does not mutate the typed array on which it is called.
The range of elements processed by filter()
is set before the first
invocation of callback
. Elements which are appended to the typed
array after the call to filter()
begins will not be visited by
callback
. If existing elements of the typed array are changed,
or deleted, their value as passed to callback
will be the value
at the time filter()
visits them; elements that are deleted are not
visited.
Examples
Filtering out all small values
The following example uses filter()
to create a filtered typed array that
has all elements with values less than 10 removed.
function isBigEnough(element, index, array) {
return element >= 10;
}
new Uint8Array([12, 5, 8, 130, 44]).filter(isBigEnough);
// Uint8Array [ 12, 130, 44 ]
Filtering typed array elements using arrow functions
Arrow functions provide a shorter syntax for the same test.
new Uint8Array([12, 5, 8, 130, 44]).filter(elem => elem >= 10);
// Uint8Array [ 12, 130, 44 ]
Specifications
Specification |
---|
ECMAScript (ECMA-262) The definition of 'TypedArray.prototype.filter' in that specification. |
Browser compatibility
BCD tables only load in the browser