These free mini-courses will give you a strong foundation in web development. Track your progress and access advanced courses on HTML/CSS, Ruby and JavaScript for free inside our student portal.
Scroll down...
In this assignment, you'll need to wrangle the syntax you just learned to solve a series of logical challenges. We've built a skeleton web page which will allow you to test what you've written.
index.html
file in your browser to see our test suite. Refresh the browser to re-run the test suite.Your challenge is to build a JavaScript function which solves each of the following problems. The HTML file provided (index.html
) will show you your outputs.
All of your functions should be contained within the object called sprintFunctions
which is located in the scripts.js
file.
largestEl
takes an array and returns the largest element.reversed
takes a string and reverses it.loudSnakeCase
takes a full sentence and puts it into "Loud_Snake_Case" format but strips out any non-character elements (like punctuation).fizzBuzz
takes an input of a number and returns an array containing all the elements from 1 to that number. Each element divisible by 3 is replaced by "FIZZ", each element divisible by 5 is replaced by "BUZZ" and each element divisible by both 3 and 5 is replaced by "FIZZBUZZ". Eg. fizzBuzz(6) => [ 1, 2, "FIZZ", 4, "BUZZ", "FIZZ" ]
compareArrays
takes two arrays and checks to see if they are equal (same contents in the same order). Assume they're not nested.myMap
takes an array and a function. It passes every element from the array into that function, in turn, running the function. The returned array should be filled with each of the return statements from that function.primes
takes a number and outputs an array containing all prime numbers that occur prior to that number, e.g. primes(8) => [2,3,5,7]
The following challenges will require a bit more firepower than before and we haven't provided you with the test cases to make them happen.
Build a Roulette game using basic object-oriented programming principles in JavaScript. The user should start with a bankroll and bet with each "spin" of the imaginary wheel. They can choose numbers 1-36. After each spin, the result is displayed and funds are distributed accordingly (payout is 35:1). Gameplay might look something like:
r = new Roulette( 100 ) // starting bankroll $100
r.spin( 10, 24 ) // bet 10 on 24
// You Win $350, the spin was 24!!!
// You now have $440.
r.spin( 50, 13 )
// You Lose, the spin was 11 :(
// You now have $390
r.bankroll()
// You now have $390
r.buyIn( 1000 )
// You bought in $1000
// You now have $1390
Add the ability for users of your Roulette game to bet on "0" (35:1), "00" (35:1), "Even" (1:1), "Odd" (1:1), "1 to 18" (1:1), "19 to 36" (1:1), "1st 12" (2:1), "2nd 12" (2:1), or "3rd 12" (2:1).
(Optional): Build a simple Checkers (aka "Draughts") game in a similar fashion to your Roulette. Save the more advanced features like creating "King" pieces for last.