JavaScript Array filter() Method

The filter() method creates a new array filled with elements that pass a test provided by a function. It’s a powerful tool for selectively extracting data from arrays based on specified criteria. Notably, it ignores empty elements, enhancing its efficiency and reliability in data filtering operations.

Syntax: 

array.filter(callback(element, index, arr), thisValue)

Parameters:

This method accepts five parameters as mentioned above and described below: 

ParameterDescription
callbackThe function is to be called for each element of the array.
elementThe value of the element currently being processed.
index(Optional) The index of the current element in the array, starting from 0.
arr(Optional) The complete array on which Array.every is called.
thisValue(Optional) The context to be passed as this to be used while executing the callback function. If not provided, undefined is used as the default context.

Return value:

It returns an array of elements that pass the test and an empty array if no elements pass the test. 

Example 1:  In this example, the method filter() creates a new array consisting of only those elements that satisfy the condition checked by canVote() function.

JavaScript
// JavaScript to illustrate findIndex() method
function canVote(age) {
    return age >= 18;
}

function func() {
    let filtered = [24, 33, 16, 40].filter(canVote);
    console.log(filtered);
}
func();

Output:  

[24,33,40]

Example 2: In this example, the method filter() creates a new array consisting of only those elements that satisfy the condition checked by isPositive() function.

Javascript
function isPositive(value) {
    return value > 0;
}

let filtered = [112, 52, 0, -1, 944].filter(isPositive);
console.log(filtered);

Output: 

[112,52,944]

Example 3: In this example, the method filter() creates a new array consisting of only those elements that satisfy the condition checked by isEven() function. 

Javascript
function isEven(value) {
    return value % 2 == 0;
}

let filtered = [11, 98, 31, 23, 944].filter(isEven);
console.log(filtered);

Output: 

[98,944]

We have a complete list of Javascript Array methods, to check those please go through this Javascript Array Complete reference article.

Supported Browsers:

The browsers supported by the JavaScript Array filter() method are listed below: 

We have a Cheat Sheet on Javascript where we covered all the important topics of Javascript to check those please go through Javascript Cheat Sheet-A Basic guide to JavaScript.