The filter
method is one of the core iterator methods in JavaScript. It's a powerful
tool for reducing a set of data into a set of data you want.
- Use
filter
to work withString
s as well asObject
s - Write a function to case-insensitively match
string
s - Write a function to partially match substrings
- Write a function to match
object
values to a providedstring
This lab contains an array of drivers with various information. We need to
write methods using the filter
method so that Scuber employees can easily
query the data. Be sure to run the tests to get a feel for the types of
problems this lab is asking you to solve before you start writing JavaScript
code.
Write findMatching
- This function takes an array of drivers
and a string
as arguments, and returns the matching list of drivers. The function should be
case insensitive.
Write fuzzyMatch
- This function takes an array of drivers
and a string
as arguments for querying the array, and returns all drivers whose names begin
with the provided letters.
Write matchName
- This function takes an array of drivers
and a string
as
arguments. In this function, each element of the drivers
array is a
JavaScript object that has a property of name
. The function should return
each element whose name
property matches the provided string
argument.
While its simple truthy / falsey "testing" of each element in a collection is
conceptually simple, the power of rejecting or selecting the things you want
(or don't want) from a set is an awesome capability. Further, that filter
returns an Array
means that you can apply map
or reduce
immediately
after e.g.
students.filter( s => !!s.permissionSlip && s.isVegetarian)
.reduce( (orders, s) => orders.push(s.preferredMeal), [])`
// => "What are the preferred meals for vegetarian students who are allowed to
go on the field trip?"
means you can write terse code that loses little expressivity.
View Filter Lab on Learn.co and start learning to code for free.