An open API service indexing awesome lists of open source software.

https://github.com/jfarmer/exercises-js-fundamentals

A collection of JavaScript exercises for new learners
https://github.com/jfarmer/exercises-js-fundamentals

javascript javascript-exercises

Last synced: 5 months ago
JSON representation

A collection of JavaScript exercises for new learners

Awesome Lists containing this project

README

          

# JavaScript Exercises - Fundamentals

This is a big collection of JavaScript exercises. Within each section, the exercises are roughly ordered from least to most difficult.

We recommend doing the first 3-5 exercises in each section before doing deeper in any single section.

If a particular concept isn't familiar to you, go read the relevant section in the [JavaScript crash course][github-intro-javascript].

## Feedback

Remember, the goal is not to nail every exercise, but to create good opportunities for feedback. That means:

1. Devise a clear (but probably incomplete or mistaken) plan
1. Implement that plan in code as best you can
1. Get feedback from the computer, peers, and instructors
1. Revise plan and repeat

## JavaScript Crash Course Sections

Here are some quick links to the different sections in the JavaScript crash course.

- [JavaScript crash course homepage][github-intro-javascript]
- [Numbers and Strings][intro-data]
- [Variables][intro-variables]
- [Conditionals][intro-conditionals]
- [Arrays and Dictionaries][intro-collections]
- [Looping][intro-looping]
- [Functions][intro-functions]

## Numbers

1. [isZero](exercises/numbers/isZero)
1. [isPositive](exercises/numbers/isPositive)
1. [isNegative](exercises/numbers/isNegative)
1. [isEven](exercises/numbers/isEven)
1. [isOdd](exercises/numbers/isOdd)
1. [remainderOf](exercises/numbers/remainderOf)
1. [isMultipleOf](exercises/numbers/isMultipleOf)
1. [power](exercises/numbers/power)
1. [isPowerOf](exercises/numbers/isPowerOf)
1. [isPowerOfTwo](exercises/numbers/isPowerOfTwo)
1. [isPerfectSquare](exercises/numbers/isPerfectSquare)
1. [factors](exercises/numbers/factors)
1. [isPrime](exercises/numbers/isPrime)
1. [primeFactors](exercises/numbers/primeFactors)
1. [sumOfRange](exercises/numbers/sumOfRange)
1. [factorial](exercises/numbers/factorial)
1. [celsiusToFahrenheit](exercises/numbers/celsiusToFahrenheit)
1. [fahrenheitToCelsius](exercises/numbers/fahrenheitToCelsius)
1. [fibonacci](exercises/numbers/fibonacci)

## Strings

1. [countLetter](exercises/strings/countLetter)
1. [capitalize](exercises/strings/capitalize)
1. [longestWord](exercises/strings/longestWord)
1. [shortestWord](exercises/strings/shortestWord)
1. [replaceCharacter](exercises/strings/replaceCharacter)
1. [replaceCharacters](exercises/strings/replaceCharacters)
1. [toLowercase](exercises/strings/toLowercase)
1. [toUppercase](exercises/strings/toUppercase)
1. [toSnakeCase](exercises/strings/toSnakeCase)
1. [toTitleCase](exercises/strings/toTitleCase)
1. [rot13](exercises/strings/rot13)
1. [rotN](exercises/strings/rotN)

## Branching / Conditionals

1. [daysInMonthByNumber](exercises/branching-conditionals/daysInMonthByNumber)
1. [letterGrade](exercises/branching-conditionals/letterGrade)
1. [isValidTriangle](exercises/branching-conditionals/isValidTriangle)
1. [triangleType](exercises/branching-conditionals/triangleType)
1. [rockPaperScissorsWinner](exercises/branching-conditionals/rockPaperScissorsWinner)

## Patterns to Print

1. [printSolidSquare](exercises/patterns/printSolidSquare)
1. [printSolidRightTriangle](exercises/patterns/printSolidRightTriangle)
1. [printSolidPyramid](exercises/patterns/printSolidPyramid)
1. [printHollowSquare](exercises/patterns/printHollowSquare)
1. [printHollowRightTriangle](exercises/patterns/printHollowRightTriangle)
1. [printHollowPyramid](exercises/patterns/printHollowPyramid)
1. [printInvertedSolidRightTriangle](exercises/patterns/printInvertedSolidRightTriangle)
1. [printMultiplicationTable](exercises/patterns/printMultiplicationTable)
1. [printPlus](exercises/patterns/printPlus)

## Arrays

1. [largest](exercises/arrays/largest)
1. [smallest](exercises/arrays/smallest)
1. [longest](exercises/arrays/longest)
1. [shortest](exercises/arrays/shortest)
1. [sum](exercises/arrays/sum)
1. [mean](exercises/arrays/mean)
1. [median](exercises/arrays/median)
1. [product](exercises/arrays/product)
1. [includes](exercises/arrays/includes)
1. [firstIndexOf](exercises/arrays/firstIndexOf)
1. [lastIndexOf](exercises/arrays/lastIndexOf)
1. [countEvens](exercises/arrays/countEvens)
1. [countOdds](exercises/arrays/countOdds)
1. [countGreaterThan](exercises/arrays/countGreaterThan)
1. [countLessThan](exercises/arrays/countLessThan)
1. [countValue](exercises/arrays/countValue)
1. [selectEvens](exercises/arrays/selectEvens)
1. [selectOdds](exercises/arrays/selectOdds)
1. [selectGreaterThan](exercises/arrays/selectGreaterThan)
1. [selectLessThan](exercises/arrays/selectLessThan)
1. [selectLongerThan](exercises/arrays/selectLongerThan)
1. [selectShorterThan](exercises/arrays/selectShorterThan)
1. [allPositive](exercises/arrays/allPositive)
1. [anyPositive](exercises/arrays/anyPositive)
1. [concat](exercises/arrays/concat)
1. [removeEmpty](exercises/arrays/removeEmpty)
1. [removeElement](exercises/arrays/removeElement)
1. [selectAboveMean](exercises/arrays/selectAboveMean)

[github-intro-javascript]: https://github.com/jfarmer/intro-javascript
[intro-data]: https://github.com/jfarmer/intro-javascript/tree/master/Data
[intro-variables]: https://github.com/jfarmer/intro-javascript/tree/master/Variables
[intro-conditionals]: https://github.com/jfarmer/intro-javascript/tree/master/Conditionals
[intro-collections]: https://github.com/jfarmer/intro-javascript/tree/master/Collections
[intro-looping]: https://github.com/jfarmer/intro-javascript/tree/master/Iteration
[intro-functions]: https://github.com/jfarmer/intro-javascript/tree/master/Functions