• JavaScript Video Tutorials

JavaScript - TypedArray filter() Method



The JavaScript TypedArray filter() method is used to retrieve a copy of a specific part of this typed array that contains only the elements passing the test implemented by the specified function. It returns a copy of this typed array, containing only the filtered elements that pass the test. If none of the elements pass the test, then an empty typed array is returned.

Here are some additional points you should know about the 'filter()' method −

  • The filter() method operates on a TypedArray (such as Uint8Array, Int16Array, etc.).

  • It accepts a testing function as a parameter.

  • The testing function is executed for each element in the TypedArray.

  • If an element satisfies the condition specified by the testing function (it returns a true value).

Syntax

Following is the syntax of JavaScript TypedArray filter() method −

filter(callbackFn, thisArg)

Parameters

This method accepts two parameters named 'callbackFn' and 'thisArg', which are described below −

callbackFn − This parameter is a testing function that will be executed for each element in the TypedArray.

This function takes three parameters named 'element', 'index', and 'array'. Here's the description for each parameter −

  • element − Represents the current element being processed in the TypedArray.

  • index − Indicates the index (position) of the current element within the TypedArray.

  • array − Refers to the entire TypedArray.

thisArg (optional) − This is an optional parameter that allows you to specify the value of this within the callbackFn.

Return value

This method returns a new copy of a typed array that includes only the elements that pass the test.

Examples

Example 1

If all elements in the typed array pass the callbackFn test, a new typed array is returned that contains only those elements that pass the test.

In the following example, we use the JavaScript TypedArray filter() method to filter out all the odd elements from the given typed array [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. We create a function named isOdd() that checks for odd values, and passes it as an argument to the filter() method.

<html>
<head>
   <title>JavaScript TypedArray filter() Method</title>
</head>
<body>
   <script>
      function isOdd(element, index, array){
         return element %2 != 0;
      }
      const T_array = new Int8Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
      document.write("The typedArray elements are: ", T_array);
      
      //create new empty typed array
      let odd_t_array = ([]);
      
      //using filer() method
      odd_t_array = T_array.filter(isOdd);
      document.write("<br>New typed array(containing only odd elements): ", odd_t_array);
   </script>    
</body>
</html>

Output

The above program returns a new copy of the typed array(contains only odd elements) as [1,3,5,7,9].

The typedArray elements are: 1,2,3,4,5,6,7,8,9,10
New typed array(containing only odd elements): 1,3,5,7,9

Example 2

Let's filter out the negative values from the given typed array.

Here's another example of the JavaScript TypedArray filter() method. We have a typed array of numbers [1, −1, 2, −2, 3, −4, 5, 6, −7, 8]. We are trying to retrieve a copy of a portion of this typed array that contains only a negative element. To check negative values we created a function named isNegative() and passed it as an argument to this method.

<html>
<head>
   <title>JavaScript TypedArray filter() Method</title>
</head>
<body>
   <script>
      function isNegative(element, index, array){
         return element < 0;
      }
      const T_array = new Int8Array([1, -1, 2, -2, 3, -4, 5, 6, -7, 8]);
      document.write("The typedArray elements are: ", T_array);
      
      //create new empty typed array
      let negative_t_array = ([]);
      
      //using filer() method
      negative_t_array = T_array.filter(isNegative);
      document.write("<br>New typed array(containing only negative elements): ", negative_t_array);
   </script>    
</body>
</html>

Output

After executing the above program, it returns a new copy of the typed array(contains only negative values) as [-1,-2,-4,-7].

The typedArray elements are: 1,-1,2,-2,3,-4,5,6,-7,8
New typed array(containing only negative elements): -1,-2,-4,-7

Example 3

If no elements of the typed array pass the test of the specified function, it returns an empty([]) typed array.

<html>
<head>
   <title>JavaScript TypedArray filter() Method</title>
</head>
<body>
   <script>
      function isDivisibleByTwo(element, index, array){
         return element % 2 == 0;
      }
      const T_array = new Int8Array([1, 3, 5, 7, 9, 11, 13, 15]);
      document.write("The typedArray elements are: ", T_array);
      
      //create new empty typed array
      let divisible_t_array = ([]);
      
      //using filer() method
      negative_t_array = T_array.filter(isDivisibleByTwo);
      document.write("<br>New typed array(containing only those elements divisible by 2): ", negative_t_array);
   </script>    
</body>
</html>

Output

The above program returns an empty typed array ([]).

The typedArray elements are: 1,3,5,7,9,11,13,15
New typed array(containing only those elements divisible by 2):
Advertisements