The filter() method creates a new array by selecting elements that meet a specific condition. It does not modify the original array and ignores empty elements.
- filter() returns a new array with elements that pass the given test.
- The condition is checked using a callback function like canVote().
- Only elements for which canVote() returns true are included in the new array.
function canVote(age) {
return age >= 18;
}
let filtered = [24, 33, 16, 40].filter(canVote);
console.log(filtered);
Syntax
array.filter(callback(element, index, arr), thisValue)Parameters: This method accepts five parameters as mentioned above and described below:
| Parameter | Description |
|---|---|
| callback | The function is to be called for each element of the array. |
| element | The 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 filter() 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: Creating a new array consisting of only those elements that satisfy the condition checked by isPositive() function.
function isPositive(value) {
return value > 0;
}
let filtered = [112, 52, 0, -1, 944].filter(isPositive);
console.log(filtered);
Example 2: Creating a new array consisting of only those elements that satisfy the condition checked by isEven() function.
function isEven(value) {
return value % 2 === 0;
}
let filtered = [11, 98, 31, 23, 944].filter(isEven);
console.log(filtered);