Filtering elements: `filter()`
Filtering elements: filter()
With the arrays, you have the filter() method to filter the elements of the array with a specific condition. For example with an array of numbers, you want to retrieve only the element greater than 50.
The filter() doesnβt change the original array. It returns a new array with the elements that satisfy the condition.
const numbers = [3, 75, 42, 13, 69]
const resultNumbers = numbers.filter(
    number => number >= 50
)
console.dir(resultNumbers)
// output: Array [ 75, 69 ]If the element is an object you can filter for the attribute of the object. For example, if you have objects like this one:
{ product: 'Desk', price: 200, active: true }and you have an array of elements, and you want to filter and retrieve the object with a price greater (or equal) than 150:
const elements = [
  { product: 'Desk', price: 200, active: true },
  { product: 'Chair', price: 100, active: true },
  { product: 'Door', price: 300, active: false },
  { product: 'Bookcase', price: 150, active: true },
  { product: 'Door', price: 100, active: true }
]
const resultElements = elements.filter(
    element => element.price >= 150
)
console.dir(resultElements)the result is:
Array [
  { product: 'Desk', price: 200, active: true },
  { product: 'Door', price: 300, active: false },
  { product: 'Bookcase', price: 150, active: true }
]you can create a more complex conditions like:
const resultActiveElements = elements.filter(
    element =>
    (element.active && element.price >= 150)
)where the result is:
Array [
  { product: 'Desk', price: 200, active: true },
  { product: 'Bookcase', price: 150, active: true }
]