The JavaScript Array `filter()` Method

Jul 1, 2020

The Array#filter() function in JavaScript returns a new array with all the elements from the original array that the given callback returns truthy for.

For example, given an array of numbers 1-10, below is how you can use filter() to return an array of even numbers.

const nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

nums.filter(function isEven(num) {
  return num % 2 === 0;
}); // [2, 4, 6, 8, 10]

The filter() function returns a new array whose elements are the elements of nums for which isEven() returned true.

The index Argument

JavaScript calls the filter() callback with 3 arguments. The first argument is the element in the array, and the 2nd argument is the index in the array.

For example, below is how you can get an array with only the odd indexes of the original array:

const names = [
  'James',
  'John',
  'Robert',
  'Michael',
  'William'
];

names.filter(function isOddIndex(el, index) {
  return index % 2 === 1;
}); // ['John', 'Michael']

Did you find this tutorial useful? Say thanks by starring our repo on GitHub!

More Fundamentals Tutorials