- Practice using
filter()
to return matching results
We've all probably had the experience of filtering a selection of choices
online. When shopping for clothing, we might have selected a single size so that
we can consider only the search results we need. Or when ordering food online,
we could have customized our results to only show restaurants currently open or
offering delivery in our neighborhoods. Since it's such a common need for a
user, it's also a common function for a web programmer to run. Fortunately for
us, JavaScript provides a built-in filter()
method.
We have an array of drivers with various information. We need to write functions
using the filter()
method so that PickMeUp Taxi service employees can easily
query the data. Run the tests to see what conditions need to be met by each
function before you start writing JavaScript code.
You'll be writing three functions:
-
findMatching
- This function takes an array of drivers' names and astring
as arguments, and returns the matching list of drivers. The function should be case insensitive. -
fuzzyMatch
- This function takes an array of drivers' names and astring
as arguments for querying the array, and returns all drivers whose names begin with the provided letters. -
matchName
- This function takes an array ofdriver
objects and astring
as arguments. Eachdriver
object has two properties:name
andhometown
. The function should return each element whosename
property matches the providedstring
argument.
Remember the workflow:
- Install the dependencies using
npm install
. - Run the tests using
npm test
. - Read the errors; vocalize what they're asking you to do.
- Write code; repeat steps 2 and 3 often until a test passes.
- Repeat as needed for the remaining tests.
After you have all the tests passing, remember to commit and push your changes up to GitHub, then submit your work to Canvas using CodeGrade.