-
-
Notifications
You must be signed in to change notification settings - Fork 279
ZA2-Kwanda Silekwa-JavaScript-Core-1-Coursework-Week-3 #67
base: main
Are you sure you want to change the base?
Changes from all commits
defa545
5e71cb8
472beb0
cb3f934
28d6be7
43e6c73
363e9b4
55506c8
a3c5b3d
97d0be4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,19 +5,26 @@ | |
| */ | ||
|
|
||
| const BIRTHDAYS = [ | ||
| "January 7th", | ||
| "February 12th", | ||
| "April 3rd", | ||
| "April 5th", | ||
| "May 3rd", | ||
| "July 11th", | ||
| "July 17th", | ||
| "September 28th", | ||
| "November 15th" | ||
| "January 7th", | ||
| "February 12th", | ||
| "April 3rd", | ||
| "April 5th", | ||
| "May 3rd", | ||
| "July 11th", | ||
| "July 17th", | ||
| "September 28th", | ||
| "November 15th", | ||
| ]; | ||
|
|
||
| function findFirstJulyBDay(birthdays) { | ||
| // TODO | ||
| arrayLength = birthdays.length; | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nicely done! |
||
| i = 0; | ||
| while (i < arrayLength) { | ||
| if (birthdays[i].includes("July")) { | ||
| return birthdays[i]; | ||
| } | ||
| i++; | ||
| } | ||
| } | ||
|
|
||
| console.log(findFirstJulyBDay(BIRTHDAYS)); // should output "July 11th" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,11 +4,14 @@ | |
| Change the while loop below into a for loop. | ||
| */ | ||
|
|
||
|
|
||
| // Change the below code to use a for loop instead of a while loop. | ||
| let i = 0; | ||
| while(i < 26) { | ||
| console.log(String.fromCharCode(97 + i)); | ||
| i++; | ||
| // while (i < 26) { | ||
| // console.log(String.fromCharCode(97 + i)); | ||
| // i++; | ||
| // } | ||
|
|
||
| for (i; i < 26; i++) { | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This bit of code raises a ReferenceError. |
||
| console.log(String.fromCharCode(97 + i)); | ||
| } | ||
| // The output shouldn't change. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,13 +4,20 @@ | |
|
|
||
| // TODO Use a for-of loop to output each of the tube stations below. | ||
| let tubeStations = [ | ||
| "Aldgate", | ||
| "Baker Street", | ||
| "Picadilly Circus", | ||
| "Oxford Street", | ||
| "Tottenham Court Road" | ||
| "Aldgate", | ||
| "Baker Street", | ||
| "Picadilly Circus", | ||
| "Oxford Street", | ||
| "Tottenham Court Road", | ||
| ]; | ||
|
|
||
| for (let i = 0; i < tubeStations.length; i++) { | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| console.log(tubeStations[i]); | ||
| } | ||
|
|
||
| // TODO Use a for-of loop to capitalise and output each letter in the string seperately. | ||
| let str = "codeyourfuture"; | ||
|
|
||
| for (let i = 0; i < str.length; i++) { | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Works perfectly fine! |
||
| console.log(str[i]); | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -11,53 +11,55 @@ | |
| - Hint: you can call the temperatureService function from your function | ||
| */ | ||
|
|
||
| let temperatureReport = []; | ||
|
|
||
| function getTemperatureReport(cities) { | ||
| // TODO | ||
| // TODO | ||
| let temperatureReport = []; | ||
| cities.forEach((cityName) => { | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nice use of |
||
| const cityTemp = temperatureService(cityName); | ||
| temperatureReport.push( | ||
| "The temperature in " + cityName + " is " + cityTemp + " degrees" | ||
| ); | ||
| }); | ||
| return temperatureReport; | ||
| } | ||
|
|
||
|
|
||
| /* ======= TESTS - DO NOT MODIFY ===== */ | ||
|
|
||
| function temperatureService(city) { | ||
| let temparatureMap = new Map(); | ||
|
|
||
| temparatureMap.set('London', 10); | ||
| temparatureMap.set('Paris', 12); | ||
| temparatureMap.set('Barcelona', 17); | ||
| temparatureMap.set('Dubai', 27); | ||
| temparatureMap.set('Mumbai', 29); | ||
| temparatureMap.set('São Paulo', 23); | ||
| temparatureMap.set('Lagos', 33); | ||
| return temparatureMap.get(city); | ||
| let temparatureMap = new Map(); | ||
|
|
||
| temparatureMap.set("London", 10); | ||
| temparatureMap.set("Paris", 12); | ||
| temparatureMap.set("Barcelona", 17); | ||
| temparatureMap.set("Dubai", 27); | ||
| temparatureMap.set("Mumbai", 29); | ||
| temparatureMap.set("São Paulo", 23); | ||
| temparatureMap.set("Lagos", 33); | ||
|
|
||
| return temparatureMap.get(city); | ||
| } | ||
|
|
||
| test("should return a temperature report for the user's cities", () => { | ||
| let usersCities = [ | ||
| "London", | ||
| "Paris", | ||
| "São Paulo" | ||
| ] | ||
|
|
||
| expect(getTemperatureReport(usersCities)).toEqual([ | ||
| "The temperature in London is 10 degrees", | ||
| "The temperature in Paris is 12 degrees", | ||
| "The temperature in São Paulo is 23 degrees" | ||
| ]); | ||
| let usersCities = ["London", "Paris", "São Paulo"]; | ||
|
|
||
| expect(getTemperatureReport(usersCities)).toEqual([ | ||
| "The temperature in London is 10 degrees", | ||
| "The temperature in Paris is 12 degrees", | ||
| "The temperature in São Paulo is 23 degrees", | ||
| ]); | ||
| }); | ||
|
|
||
| test("should return a temperature report for the user's cities (alternate input)", () => { | ||
| let usersCities = [ | ||
| "Barcelona", | ||
| "Dubai" | ||
| ] | ||
|
|
||
| expect(getTemperatureReport(usersCities)).toEqual([ | ||
| "The temperature in Barcelona is 17 degrees", | ||
| "The temperature in Dubai is 27 degrees" | ||
| ]); | ||
| let usersCities = ["Barcelona", "Dubai"]; | ||
|
|
||
| expect(getTemperatureReport(usersCities)).toEqual([ | ||
| "The temperature in Barcelona is 17 degrees", | ||
| "The temperature in Dubai is 27 degrees", | ||
| ]); | ||
| }); | ||
|
|
||
| test("should return an empty array if the user hasn't selected any cities", () => { | ||
| expect(getTemperatureReport([])).toEqual([]); | ||
| }); | ||
| expect(getTemperatureReport([])).toEqual([]); | ||
| }); | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,20 +5,25 @@ | |
|
|
||
| // This function shouldn't be changed | ||
| function generateRandomNumber() { | ||
| console.log("Generating number..."); | ||
| return Math.round(Math.random() * 100); | ||
| console.log("Generating number..."); | ||
| return Math.round(Math.random() * 100); | ||
| } | ||
|
|
||
| function getRandomNumberGreaterThan50() { | ||
| // TODO - implement using a do-while loop | ||
| // TODO - implement using a do-while loop | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Well done! |
||
| num = 0; | ||
| do { | ||
| num = generateRandomNumber(); | ||
| } while (num <= 50); | ||
| return num; | ||
| } | ||
|
|
||
| /* ======= TESTS - DO NOT MODIFY ===== */ | ||
|
|
||
| test("Returned value should always be greater than 50", () => { | ||
| expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); | ||
| expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); | ||
| expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); | ||
| expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); | ||
| expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); | ||
| expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); | ||
| expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); | ||
| expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); | ||
| expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); | ||
| expect(getRandomNumberGreaterThan50()).toBeGreaterThan(50); | ||
| }); | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
function evenNumbers(10) should log [0,2,4,6,8] in its current form.
Looking at the expected output of invoking it (line 20) for argument 3, it should log 0,2,4.
It seems like the function evenNumbers should log the first n even numbers, where n is the argument to the function.