Array.filter() Filter an array
Last updated: 2026-09-09
Array.filter() Filter an array
filter calls the callback once per element and returns a new array of the elements for which it returned a truthy value; the original is untouched.
| Category | Arrays |
|---|---|
| ES version | ES5 (2009) |
📝 Syntax
const newArray = array.filter((element, index, array) => condition);
⚙️ Parameters
| callback | Test function: truthy keeps the element, falsy drops it. |
|---|---|
| thisArg | Optional. Value used as this inside the callback. |
Returns:A new array with the passing elements, or an empty array.
Mutates the original:No (returns a new value)
▶ Example
Edit the code, press Run, and see the result in the output panel:
Output:
[ 82, 91, 77 ]
[ 45, 91, 77 ]
💡 Tip filter results chain naturally into map/reduce for data pipelines.
⚠️ Warning Forgetting to return drops every element (undefined is falsy); arrow-function concise bodies avoid this.
🌐 Browser support
| Browser | |||||
|---|---|---|---|---|---|
| Array.filter() | ✓ v1 | ✓ v12 | ✓ v1.5 | ✓ v3 | ✓ v10.5 |
| Supported by all modern browsers | |||||
🏷️ Related Array Methods
💡 Related Cases
More case studies coming soon — check back later.
📚 Related Tutorials
❓ FAQ
Qfilter vs find?
Afilter returns every match as an array; find returns the first match itself.
QDoes filter mutate the original?
ANo — filter always returns a new array; elements are shallow references.
QHow to filter objects by property?
Ausers.filter(user => user.age >= 18) — access properties inside the callback.