Function Junction

Objectives

After completing this assignment, you should be able to:

  • Demonstrate understanding of types, functions, argument-handling, loops, and conditional statements

Requirements

  1. Fork this repository to your own account.
  2. Change into your training directory
  3. Clone your repository: hub clone function-junction
  4. Change into your project's directory: cd function-junction
  5. Install the dependencies: yarn install (or just yarn for short)
  6. Open in Code: code .
  7. Start the test runner: yarn test
  8. Feel free to split screen your work, except now you should split-screen your editor and your TERMINAL
  9. In your editor, open src/functions.test.js and work on each function until the test pass.
  10. Each time you save your code, the tests run and tell you if your code is correct.
  11. Commit and push your work to GitHub.
  12. Turn in the URL to your GitHub repo.

Explorer Mode

  • All tests passing
  • No linter warnings
  • Turn in the homework using the URL to your repository on Github.
  • CAUTION One the test is broken. Your job is to update the test to pass.

Adventure Mode

  • If you used "built-in" JavaScript methods like String.reverse() or Array.max() to solve these problems, try implementing them from scratch.
  • Vice-versa: if you implemented your solutions from scratch, look in the documentation linked below to see if JavaScript has any built-in functions to help solve these problems.

Epic Mode

  • Expand the sum and max functions to take arrays instead of numbers and update the tests so they pass.
  • Create your own simple functions with tests.
  • Anytime in your code that you used a for loop or a while loop, convert it to use a map, filter or reduce.

Additional Resources

Reference the documentation on MDN to find what kind of helpful functions might already be on Array and String in JavaScript.