Your neighborhood has decided to put together a local library where people can lend and borrow books. One of the most important features needed to organize this is a dashboard that will show which books are available, which are currently out, and other general statistics about the program. Other people are taking care of the logistics and design, but they need you to build the algorithms.
This project is designed to test your ability to work with large datasets and build algorithms based on those datasets. You will not need to make any edits to HTML or CSS for this project. Before taking on this project, you should be comfortable with the learning objectives listed below:
- Using Visual Studio Code as a text editor
- Differentiating between the three most common JavaScript error types
- Solving bugs by using error messages
- Differentiating between let, const, and var, and using each appropriately
- Creating an array from a string based on particular criteria and joining arrays into strings
- Writing strings that embed expressions using template literals
- Accessing all the values and keys of an object
- Using find(), filter(), map(), some(), and every() to solve different problems
- Using reduce() to solve different problems
- Using sort() to sort arrays in various ways
For your project to pass, all of the following statements must be true:
- All tests are passing.
- The project doesn't include any single-letter variables.
- The project makes at least one use of an arrow function.
- The project makes at least one use of each of the following native array methods: find(), filter(), map(), and reduce().
- The project employs at least one helper function, which helps support the tested functions.
- The project uses at least two of the following JavaScript features: the ternary operator, the spread operator, object shorthand, array or object destructuring, and for/in loops.