generated from CodeYourFuture/Module-Template
-
-
Notifications
You must be signed in to change notification settings - Fork 269
London | 25-ITP-Sep | Zadri Abdule | Sprint 2 | Coursework #867
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Zadri415
wants to merge
14
commits into
CodeYourFuture:main
Choose a base branch
from
Zadri415:coursework/sprint-2
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
0fc35ed
Interpret error message and explain cause in 1-key-errors/0.js
Zadri415 f4e38d3
Fix and explain redeclaration SyntaxError in convertToPercentage (1-k…
Zadri415 8a162e3
Fix and explain 'unexpected number' SyntaxError in square() (1-key-er…
Zadri415 2bf3487
Fix undefined return in sum() and explain cause (2-mandatory-debug/0.js
Zadri415 54ca144
add changes to 2-mandatory-debug/0.js
Zadri415 ff14721
add prediction and explanation
Zadri415 97dc683
predict the output
Zadri415 2f8d74e
add and explain calculateBMI() function to compute BMI to one decimal…
Zadri415 c52e087
add using String.toUpperCase() to convert greeting to uppercase
Zadri415 0de1e19
turn interpret/to-pounds.js into a reuseable block of code
Zadri415 a451eda
add formatTimeDisplay() answers explaining pad() calls and returning …
Zadri415 083a9d2
add and test formatAs12HourClock function with passing assertions
Zadri415 f4c8d85
Fix console log to use multiply function
Zadri415 2776d16
Fix typo in function name from forma to format
Zadri415 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,14 +1,20 @@ | ||
| // Predict and explain first... | ||
|
|
||
| // =============> write your prediction here | ||
|
|
||
| // It will show a undefined error | ||
| function multiply(a, b) { | ||
| console.log(a * b); | ||
| } | ||
|
|
||
| console.log(`The result of multiplying 10 and 32 is ${multiply(10, 32)}`); | ||
| console.log(`The result of multiplying 10 and 32 is ${multiply(10, 32)} | ||
|
|
||
| // =============> write your explanation here | ||
|
|
||
| // The function printed the answer but did't return it, so when it was used in the template string, it came out as 'undefined.' | ||
| // Finally, correct the code to fix the problem | ||
| // =============> write your new code here | ||
| function multiply(a, b) { | ||
| return a * b; | ||
| } | ||
|
|
||
| console.log(`The result of multipying 10 and 32 is ${multiply(10, 32)}`); | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,7 +2,7 @@ | |
| // Make sure to do the prep before you do the coursework | ||
| // Your task is to write tests for as many different groups of input data or edge cases as you can, and fix any bugs you find. | ||
|
|
||
| function formatAs12HourClock(time) { | ||
| /*function formatAs12HourClock(time) { | ||
| const hours = Number(time.slice(0, 2)); | ||
| if (hours > 12) { | ||
| return `${hours - 12}:00 pm`; | ||
|
|
@@ -22,4 +22,55 @@ const targetOutput2 = "11:00 pm"; | |
| console.assert( | ||
| currentOutput2 === targetOutput2, | ||
| `current output: ${currentOutput2}, target output: ${targetOutput2}` | ||
| ); */ | ||
|
|
||
| // The function ignores the minutes and did'not handle midnight (00:00) or noon (12:00) properly. | ||
| // Better version: | ||
| function formatAs12HourClock(time) { | ||
|
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. Good work attempting this stretch task! If we look at your tests, you try 08:00 which gets returned as 08:00 am, and trying 13:00 gives you 1:00 pm. There seems to be a difference in how am/pm handle leading 0s. Can you find why that happens? |
||
| const hours = Number(time.slice(0, 2)); | ||
| const minutes = time.slice(3, 5); | ||
|
|
||
| if (hours == 0) return `12:${minutes} am`; | ||
| if (hours < 12) return `${time} am`; | ||
| if (hours === 12) return `${time} pm`; | ||
|
|
||
| return `${hours - 12}:${minutes} pm`; | ||
| } | ||
| const currentOutput1 = formatAs12HourClock("08:00"); | ||
| const targetOutput1 = "08:00 am"; | ||
| console.assert( | ||
| currentOutput1 === targetOutput1, | ||
| `current output: ${currentOutput1}, target output: ${targetOutput1}` | ||
| ); | ||
| // Test failed: due to a typo | ||
| const currentOutput2 = formatAs12HourClock("23:00"); | ||
| const targetOutput2 = "11:00 pm"; | ||
| console.assert( | ||
| currentOutput2 === targetOutput2, | ||
| `current output: ${currentOutput2}, target output: ${targetOutput2}` | ||
|
|
||
| ); | ||
|
|
||
| const currentOutput3 = formatAs12HourClock("13:00"); | ||
| const targetOutput3 = "1:00 pm"; | ||
| console.assert( | ||
| currentOutput3 === targetOutput3, | ||
| `current output: ${currentOutput3} target output: {targetOutput3}` | ||
| ); | ||
|
|
||
| const currentOutput4 = formatAs12HourClock("15:00"); | ||
| const targetOutput4 = "3:00 pm"; | ||
| console.assert( | ||
| currentOutput4 === targetOutput4, | ||
| `current output: ${currentOutput4} target output: {targetOutput4}` | ||
| ); | ||
|
|
||
| console.log(formatAs12HourClock("08:00")); | ||
| console.log(formatAs12HourClock("23:00")); | ||
| console.log(formatAs12HourClock("15:00")); | ||
| console.assert(formatAs12HourClock("00:00") === "12:00 am"); | ||
| console.assert(formatAs12HourClock("12:00") === "12:00 pm"); | ||
|
|
||
| // The test passed, so my function gave the expected results. | ||
| // All the console.assert() tests passed. | ||
| // formatAs12HourClock() function works correctly for the inputs I tested. | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
This approach will work, but this task asks you to create a function. Can you create a named function that takes a string and returns it in uppercase?
Making a named function is important as it makes it easier to test code than using console.log()s