Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
05c3d45
untill i do this commit the work wont git base wont run
MaharitB Sep 18, 2026
a4bfc54
add ${} in backticks to creat a template literal to get initials fro…
MaharitB Sep 18, 2026
686ac69
add slice() that would rerturn the dir part of the path
MaharitB Sep 18, 2026
f44d3e1
declared dotIndex to save the the index of the dot.
MaharitB Sep 18, 2026
f5f7707
declared a variable startDirIndex to save the start index of the stri…
MaharitB Sep 18, 2026
e1dda9e
delet content of slice()and replaced it to StartDirIndex
MaharitB Sep 18, 2026
02ff8cf
delet 2 notes from the 3-paths.js
MaharitB Sep 18, 2026
6f81459
change colon to semicolon
MaharitB Sep 18, 2026
26b0b8b
remove +1 from slice() to make the output include dot(.)
MaharitB Sep 18, 2026
3e10e6d
delet all comment lines
MaharitB Sep 18, 2026
9a94c44
remove the comment lines
MaharitB Sep 18, 2026
0bd5e8c
explain the expression in order of mathematical operation
MaharitB Sep 18, 2026
1a1c60a
wrote console.log() to see what the code is doing
MaharitB Sep 18, 2026
4d06615
format document
MaharitB Sep 18, 2026
4aa68ab
add a single line comment for both lines
MaharitB Sep 18, 2026
2d26b97
add a comment on why it produces error
MaharitB Sep 18, 2026
532b0fa
add more to the comment
MaharitB Sep 18, 2026
f91783b
add comment an answer to a first given question
MaharitB Sep 18, 2026
118a824
write a console .log() to run the code
MaharitB Sep 18, 2026
41c8775
edit code by enclosing the number by double quote then it will be tre…
MaharitB Sep 18, 2026
726810c
edit the comment and delet the comments that were previously there
MaharitB Sep 18, 2026
ceffa2d
add a coment on the error
MaharitB Sep 18, 2026
8b2dbc2
fix the error by putting , in the replaceall() and answer the questions
MaharitB Sep 18, 2026
c52de96
delet the question in the comment and edit my answer
MaharitB Sep 19, 2026
4072533
run the code and edit my answers
MaharitB Sep 19, 2026
b20c858
describ line by line code
MaharitB Sep 19, 2026
56bebf5
changethe declaration const to let
MaharitB Sep 20, 2026
b584bde
changed cosole.log() after initialization of cityOfBirth const
MaharitB Sep 20, 2026
e63d651
add console.log for the const HourClockTime
MaharitB Sep 20, 2026
6b3c6ec
add console.log for const hourClockTime and add pm after 20:53
MaharitB Sep 20, 2026
118d7c2
run prettier
MaharitB Sep 20, 2026
3daf70a
run prettier
MaharitB Sep 20, 2026
bd744ff
Run Prettier
MaharitB Sep 20, 2026
27f9052
run prettier
MaharitB Sep 20, 2026
36dd0c6
add at line 6 in the .lastIndexOf() "/"
MaharitB Sep 20, 2026
2582f53
add comments to the comment section for further explanation
MaharitB Sep 20, 2026
5da1022
run prettier
MaharitB Sep 20, 2026
8211642
edit my Answer in the comment section
MaharitB Sep 20, 2026
3ab1fb2
change into original value of movieLength
MaharitB Sep 20, 2026
5a7447d
edit my comment for further explantion
MaharitB Sep 20, 2026
ca1cf85
edit the comment section
MaharitB Sep 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Sprint-2/1-key-exercises/1-count.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ count = count + 1;

// Line 1 is a variable declaration, creating the count variable with an initial value of 0
// Describe what line 3 is doing, in particular focus on what = is doing
// line 3 = it is reassigning a value to the variable count
8 changes: 2 additions & 6 deletions Sprint-2/1-key-exercises/2-initials.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,5 @@ const firstName = "Creola";
const middleName = "Katherine";
const lastName = "Johnson";

// Declare a variable called initials that stores the first character of each string.
// This should produce the string "CKJ", but you must not write the characters C, K, or J in the code of your solution.

const initials = ``;

// https://www.google.com/search?q=get+first+character+of+string+mdn
const initials = `${firstName[0]}${middleName[0]}${lastName[0]}`;
console.log(initials);
24 changes: 6 additions & 18 deletions Sprint-2/1-key-exercises/3-paths.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,11 @@
// The diagram below shows the different names for parts of a file path on a Unix operating system

// ┌─────────────────────┬────────────┐
// │ dir │ base │
// ├──────┬ ├──────┬─────┤
// │ root │ │ name │ ext │
// " / home/user/dir / file .txt "
// └──────┴──────────────┴──────┴─────┘

// (All spaces in the "" line should be ignored. They are purely for formatting.)

const filePath = "/Users/mitch/cyf/Module-JS1/week-1/interpret/file.txt";
const lastSlashIndex = filePath.lastIndexOf("/");
const base = filePath.slice(lastSlashIndex + 1);
console.log(`The base part of ${filePath} is ${base}`);

// Create a variable to store the dir part of the filePath variable
// Create a variable to store the ext part of the variable

const dir = ;
const ext = ;

// https://www.google.com/search?q=slice+mdn
const startDirIndex = filePath.lastIndexOf("/Users");
const dir = filePath.slice(startDirIndex, lastSlashIndex);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Run this file and look at the dir line. It prints Users/mitch/... but the path starts with a /, so one character is missing. Two things to think about. Which index does lastIndexOf("Users") give you? And what happens to this code if the path does not contain the word Users at all? Your ext on lines 9 and 10 is a good example of the approach that would work here.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My first thought was that on the image "/ " was under the root and the dir starts from "home".
so, that is why I considered dropping the "/". But now I have fixed it.

console.log(`The dir part of ${filePath} is ${dir}`);
const dotIndex = filePath.lastIndexOf(".");
const ext = filePath.slice(dotIndex);
console.log(`The ext part of the ${filePath} is ${ext}`);
12 changes: 8 additions & 4 deletions Sprint-2/1-key-exercises/4-random.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ const maximum = 100;

const num = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum;

// In this exercise, you will need to work out what num represents?
// Try breaking down the expression and using documentation to explain what it means
// It will help to think about the order in which expressions are evaluated
// Try logging the value of num and running the program several times to build an idea of what the program is doing
//1.num represents a number which is an Integer.
//2.lets start by (maximum-minimum +1) which the output is 100.
//3.math.random()*100 returns random number between 0 and 100, what actually
// happens is that math.randum gives out random number from 0 to 1 which 1 is
// not included and in this case, multiply the output by 100.
//4.math.floor()it rounds a number to thier nearest integer, which means it drops all the decimal.
//5.at the end we add 1 which is the minimum.
console.log(num);
4 changes: 2 additions & 2 deletions Sprint-2/2-mandatory-errors/0.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
This is just an instruction for the first activity - but it is just for human consumption
We don't want the computer to run these 2 lines - how can we solve this problem?
//This is just an instruction for the first activity - but it is just for human consumption
//We don't want the computer to run these 2 lines - how can we solve this problem?
4 changes: 3 additions & 1 deletion Sprint-2/2-mandatory-errors/1.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
// trying to create an age variable and then reassign the value by 1

const age = 33;
let age = 33;
age = age + 1;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your explanation on line 5 is right. Run the file though. It still stops with the same error, because line 3 is still const. This section wants the code fixed as well as explained.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done! Thank you.

// you can not reassign a value to variable that is declared const.
console.log(age);
3 changes: 2 additions & 1 deletion Sprint-2/2-mandatory-errors/2.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// Currently trying to print the string "I was born in Bolton" but it isn't working...
// what's the error ?

console.log(`I was born in ${cityOfBirth}`);
const cityOfBirth = "Bolton";

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your explanation on line 6 is right. This file still stops when you run it though. What would you move, so that line 4 prints "I was born in Bolton"?

// The error is that the const declation and initialization came after console.log so no access for cityOfBirth.
console.log(`I was born in ${cityOfBirth}`);
11 changes: 4 additions & 7 deletions Sprint-2/2-mandatory-errors/3.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
const cardNumber = 4533787178994213;
const cardNumber = "4533787178994213";
const last4Digits = cardNumber.slice(-4);

// The last4Digits variable should store the last 4 digits of cardNumber
// However, the code isn't working
// Before running the code, make and explain a prediction about why the code won't work
// Then run the code and see what error it gives.
// Consider: Why does it give this error? Is this what I predicted? If not, what's different?
// Then try updating the expression last4Digits is assigned to, in order to get the correct value
// the code is not working because the number initialized should be in "" .
// so it can know it/or treat it as a string.
console.log(last4Digits);
8 changes: 6 additions & 2 deletions Sprint-2/2-mandatory-errors/4.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
const 12HourClockTime = "8:53pm";
const 24hourClockTime = "20:53";
const HourClockTime = "8:53pm";
const hourClockTime = "20:53pm";

// The error here is that the variable started with number.
console.log(HourClockTime);
console.log(hourClockTime);
24 changes: 12 additions & 12 deletions Sprint-2/3-mandatory-interpret/1-percentage-change.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@ let carPrice = "10,000";
let priceAfterOneYear = "8,543";

carPrice = Number(carPrice.replaceAll(",", ""));
priceAfterOneYear = Number(priceAfterOneYear.replaceAll("," ""));
priceAfterOneYear = Number(priceAfterOneYear.replaceAll(",", ""));

const priceDifference = carPrice - priceAfterOneYear;
const percentageChange = (priceDifference / carPrice) * 100;

console.log(`The percentage change is ${percentageChange}`);

// Read the code and then answer the questions below

// a) How many function calls are there in this file? Write down all the lines where a function call is made

// b) Run the code and identify the line where the error is coming from - why is this error occurring? How can you fix this problem?

// c) Identify all the lines that are variable reassignment statements

// d) Identify all the lines that are variable declarations

// e) Describe what the expression Number(carPrice.replaceAll(",","")) is doing - what is the purpose of this expression?
//1. There are 5 function calls in line 4 , 5 and 10
// * number()and the second one is .replaceall() in line 4
// * number() and the second one is .replaceall()in line 4
// * console.log()
// 2. The error is coming from the line 5, because there was no comma in the replaceAll() method .
// 3. line 4 and 5 are the variable reassignment statments.
// 4. line 1 ,2 ,7 and 8 are lines where variable declarions happened
// 5. *The method .replaceAll() in line 4 is replacing the coma (,) with nothing("") in the "10,000" and the output is "10000",
// the number() function converts the string "10000" into a number.
// *The method .replaceAll() in line 4 is replacing the coma(,) with nothing("") in the "8,543" and the output is "8543"
// the number() function coverts the string "8543" into a number which is 8543.
18 changes: 9 additions & 9 deletions Sprint-2/3-mandatory-interpret/2-time-format.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@ const totalHours = (totalMinutes - remainingMinutes) / 60;
const result = `${totalHours}:${remainingMinutes}:${remainingSeconds}`;
console.log(result);

// For the piece of code above, read the code and then answer the following questions
//A.There are six variable declarations

// a) How many variable declarations are there in this program?
//B. one function call (console.log())

// b) How many function calls are there?
//C.The % represents a remainder. The operator returns the remainder leftover when one operand which in
// this cas is movieLength is divided by a second operand in this case 60%.

// c) Using documentation, explain what the expression movieLength % 60 represents
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators
// D.it means it is changing the value that was in second into minute by dividing it 60 after the top
// calculation makes it whole number.

// d) Interpret line 4, what does the expression assigned to totalMinutes mean?
//E. It represents the duration of the movie.movieLength/movieDuration.

// e) What do you think the variable result represents? Can you think of a better name for this variable?

// f) Try experimenting with different values of movieLength. Will this code work for all values of movieLength? Explain your answer
//F. No it doesnt work for all different values , I experimented it with -ve numbers and decimals.It doesnt
// give the desired output
16 changes: 14 additions & 2 deletions Sprint-2/3-mandatory-interpret/3-to-pounds.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ const penceString = "399p";

const penceStringWithoutTrailingP = penceString.substring(
0,
penceString.length - 1
penceString.length - 1,
);

const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0");
const pounds = paddedPenceNumberString.substring(
0,
paddedPenceNumberString.length - 2
paddedPenceNumberString.length - 2,
);

const pence = paddedPenceNumberString
Expand All @@ -25,3 +25,15 @@ console.log(`£${pounds}.${pence}`);

// To begin, we can start with
// 1. const penceString = "399p": initialises a string variable with the value "399p"

// 2. penceStringWithoutTrailingP : it's value is the return of the method substring()which is 399.
// the substring(0,3-1),when the substring extracts string from index 0 to 2 =>399 and p will be dropped.

// 3. paddedPenceNumberString : its value is what the padstart() method returns which is the same.399
//padstart(3,0),it is supossed to add 0's till the needed length is reached which is 3=>399.

// 4. const Pound is initialized by the out come of the substring()method which is only 3. Because the
// substring start index is zero and end endex is 1.
// 5. const pence will be initialized there are two methods. the first one will extract the string form index 1
// the second one will add 0 which there is no need=> 99
//6.consol.log => 3.99
Loading