Coder Social home page Coder Social logo

salsa-dude / js-looping-and-iteration-filter-lab-dc-web-100818 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from learn-co-students/js-looping-and-iteration-filter-lab-dc-web-100818

0.0 1.0 0.0 91 KB

License: Other

HTML 25.46% JavaScript 74.54%

js-looping-and-iteration-filter-lab-dc-web-100818's Introduction

Filter Lab

Problem Statement

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.

Objectives

  1. Use filter to work with Strings as well as Objects
  2. Write a function to case-insensitively match strings
  3. Write a function to partially match substrings
  4. Write a function to match object values to a provided string

Use filter to work with Strings as well as Objects

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 a Function To Case-insensitively Match strings

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 a Function To Partially Match Substrings

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 a Function To Match object Values To a Provided string

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.

Conclusion

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.

Resources

View Filter Lab on Learn.co and start learning to code for free.

js-looping-and-iteration-filter-lab-dc-web-100818's People

Contributors

gj avatar jeffkatzy avatar lukeghenco avatar sgharms avatar jmburges avatar salsa-dude avatar drakeltheryuujin avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.