How to implement a filter() for Objects in JavaScript ?
The filter() method basically outputs all the element object that pass a specific test or satisfies a specific function. The return type of the filter() method is an array that consists of all the element(s)/object(s) satisfying the specified function.
Syntax:
var newArray = arr.filter(callback(object[, ind[, array]])[, Arg])
Parameters:
- Callback is a predicate, to test each object of the array. Returns True to keep the object, False otherwise. It takes in three arguments:
- Object: The current object being processed in the array.
- ind (Optional): Index of the current object being processed in the array.
- array (Optional): Array on which filter was called upon.
- Arg (Optional): Value to use(.this) when executing callback.
Example 1:
javascript
var array = [-1, -4, 5, 6, 8, 9, -12, -5, 4, -1]; var new_array = array.filter(element => element >= 0); console.log( "Output: " +new_array); |
Output:
Output: 5,6,8,9,4
The above example returns all the positive elements in a given array.
Example 2:
javascript
var employees = [ {name: "Tony Stark" , department: "IT" }, {name: "Peter Parker" , department: "Pizza Delivery" }, {name: "Bruce Wayne" , department: "IT" }, {name: "Clark Kent" , department: "Editing" } ]; var output = employees.filter(employee => employee.department == "IT" ); for ( var i=0;i<output.length;i++){ console.log(output[i].name) }; |
Output:
Tony Stark Bruce Wayne
Please Login to comment...