What if you could instantly find exactly what you want in a big list with just one line of code?
Why Filter method in Javascript? - Purpose & Use Cases
Imagine you have a long list of names and you want to find only those that start with the letter 'A'. Doing this by hand means checking each name one by one, which takes a lot of time and effort.
Manually going through each item is slow and easy to mess up. You might skip some names or make mistakes copying them. It's also hard to change the rule later without redoing everything.
The filter method lets you quickly pick out only the items you want from a list by writing a simple rule. It does all the checking for you, so you get a new list with just the matching items instantly.
const result = []; for(let i = 0; i < names.length; i++) { if(names[i][0] === 'A') { result.push(names[i]); } }
const result = names.filter(name => name.startsWith('A'));It makes finding and working with specific data in lists fast, easy, and less error-prone.
Filtering a list of products to show only those that are in stock or on sale on an online store.
Manually filtering data is slow and error-prone.
The filter method automates this with a simple rule.
This saves time and makes code cleaner and easier to change.
Practice
filter method do?Solution
Step 1: Understand the purpose of filter
The filter method tests each element with a function and keeps only those that return true.Step 2: Compare options with filter behavior
Only Creates a new array with elements that pass a test describes creating a new array with elements that pass the test, which matches filter's behavior.Final Answer:
Creates a new array with elements that pass a test -> Option BQuick Check:
filter creates new filtered array = C [OK]
- Thinking filter changes original array
- Confusing filter with sort or reduce
- Believing filter combines elements
arr for values greater than 10?Solution
Step 1: Check arrow function syntax inside filter
The filter method requires a function that returns true or false. The arrow function must return the condition directly or with a return statement.Step 2: Validate each option's syntax
arr.filter(x => x > 10); uses correct arrow function syntax returning x > 10. arr.filter(x > 10); misses the function. arr.filter(x => {x > 10}); uses braces but no return, so returns undefined. arr.filter(x => x > 10)(); adds extra parentheses causing error.Final Answer:
arr.filter(x => x > 10); -> Option CQuick Check:
Correct arrow function syntax = A [OK]
- Omitting arrow function syntax
- Using braces without return in arrow function
- Adding extra parentheses after filter call
const nums = [5, 12, 8, 130, 44]; const result = nums.filter(num => num > 10); console.log(result);
Solution
Step 1: Identify the filter condition
The filter keeps numbers greater than 10.Step 2: Check each number in the array
5 (no), 12 (yes), 8 (no), 130 (yes), 44 (yes). So filtered array is [12, 130, 44].Final Answer:
[12, 130, 44] -> Option DQuick Check:
Filter > 10 = [12,130,44] [OK]
- Including numbers not greater than 10
- Returning original array instead of filtered
- Confusing filter with map or reduce output
const numbers = [1, 2, 3, 4, 5];
const evens = numbers.filter(num => { num % 2 === 0 });
console.log(evens);Solution
Step 1: Analyze arrow function with braces
When using braces in arrow functions, you must explicitly return a value.Step 2: Check the function body
The function body has expression but no return, so it returns undefined, causing filter to keep no elements.Final Answer:
Missing return statement inside arrow function -> Option AQuick Check:
Arrow function with braces needs return [OK]
- Forgetting return inside arrow function with braces
- Thinking filter is not an array method
- Misunderstanding modulo operator syntax
const people = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 17 },
{ name: 'Charlie', age: 19 },
{ name: 'David', age: 15 }
];
// Filter adults (age 18 or older)
const adults = people.filter(person => person.age >= 18);
console.log(adults);What will be the output?
Solution
Step 1: Understand filter condition on objects
The filter keeps objects where person.age is 18 or more.Step 2: Check each person's age
Alice (25) and Charlie (19) meet the condition. Bob (17) and David (15) do not.Final Answer:
[{ name: 'Alice', age: 25 }, { name: 'Charlie', age: 19 }] -> Option AQuick Check:
Filter adults age >= 18 = Alice, Charlie [OK]
- Filtering by name instead of age
- Including underage people by mistake
- Expecting filter to modify original array
Ready to prove it?
Pass the test and this pattern moves unknown
