Skip to content
This repository was archived by the owner on Jan 14, 2024. It is now read-only.

Glasgow class 6- Yesna Omar- JavaScript 1- week 4 #235

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
7 changes: 5 additions & 2 deletions 1-exercises/A-array-find/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,12 @@ let names = [
"Ahmed",
];

let longNameThatStartsWithA = findLongNameThatStartsWithA(names);
function findLongNameThatStartsWithA(array) {
const findedWords = array.find((word) => word.length > 7 && word[0] === "A");
return findedWords;
}

console.log(longNameThatStartsWithA);
console.log(findLongNameThatStartsWithA(names));

/* EXPECTED OUTPUT */
// "Alexandra"
4 changes: 4 additions & 0 deletions 1-exercises/B-array-some/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ let pairsByIndex = [[0, 3], [1, 2], [2, 1], null, [3, 0]];
// https://nodejs.org/api/process.html#process_process_exit_code
// process.exit(1);

if (pairsByIndex.some((number) => number === null)) {
process.exit(1);
}

let students = ["Islam", "Lesley", "Harun", "Rukmini"];
let mentors = ["Daniel", "Irina", "Mozafar", "Luke"];

Expand Down
5 changes: 4 additions & 1 deletion 1-exercises/C-array-every/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
let students = ["Omar", "Austine", "Dany", "Swathi", "Lesley", "Rukmini"];
let group = ["Austine", "Dany", "Swathi", "Daniel"];

let groupIsOnlyStudents; // complete this statement
function notOnlyStudent(group) {
return group.includes(students);
}
let groupIsOnlyStudents = group.every(notOnlyStudent); // complete this statement

if (groupIsOnlyStudents) {
console.log("The group contains only students");
Expand Down
10 changes: 8 additions & 2 deletions 1-exercises/D-array-filter/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,13 @@

let pairsByIndexRaw = [[0, 3], [1, 2], [2, 1], null, [1], false, "whoops"];

let pairsByIndex; // Complete this statement
function validContent(pair) {
if (pair != null && pair.length === 2) {
return true;
}
}

let pairsByIndex = pairsByIndexRaw.filter(validContent); // Complete this statement

let students = ["Islam", "Lesley", "Harun", "Rukmini"];
let mentors = ["Daniel", "Irina", "Mozafar", "Luke"];
Expand All @@ -24,4 +30,4 @@ console.log(pairs);
/* EXPECTED RESULT

[ [ 'Islam', 'Luke' ], [ 'Lesley', 'Mozafar' ], [ 'Harun', 'Irina' ] ]
*/
*/
8 changes: 6 additions & 2 deletions 1-exercises/E-array-map/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@

let numbers = [0.1, 0.2, 0.3, 0.4, 0.5];

let numbersMultipliedByOneHundred; // complete this statement
function multiplication(number) {
return number * 100;
}

let numbersMultipliedByOneHundred = numbers.map(multiplication); // complete this statement

console.log(numbersMultipliedByOneHundred);

/* EXPECTED RESULT

[10, 20, 30, 40, 50]
*/
*/
14 changes: 14 additions & 0 deletions 1-exercises/F-array-forEach/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,20 @@

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];

function printNumber(number) {
if (number % 3 == 0 && number % 5 == 0) {
console.log("FizzBuzz");
} else if (number % 3 == 0) {
console.log("Fizz");
} else if (number % 5 == 0) {
console.log("Buzz");
} else {
console.log(number);
}
}

arr.forEach(printNumber);

/* EXPECTED OUTPUT */

/*
Expand Down
3 changes: 2 additions & 1 deletion 1-exercises/G-array-methods/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
*/

let numbers = [3, 2, 1];
let sortedNumbers; // complete this statement

let sortedNumbers = numbers.sort(); // complete this statement

/*
DO NOT EDIT BELOW THIS LINE
Expand Down
2 changes: 1 addition & 1 deletion 1-exercises/G-array-methods/exercise2.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
let mentors = ["Daniel", "Irina", "Rares"];
let students = ["Rukmini", "Abdul", "Austine", "Swathi"];

let everyone; // complete this statement
let everyone = mentors.concat(students); // complete this statement

/*
DO NOT EDIT BELOW THIS LINE
Expand Down
2 changes: 1 addition & 1 deletion 1-exercises/H-array-methods-2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ function isAMentor(name) {
return mentors.includes(name);
}

consooe.log("Is Rukmuni a mentor?");
console.log("Is Rukmuni a mentor?");
console.log(isAMentor("Rukmini")); // logs false
```

Expand Down
4 changes: 2 additions & 2 deletions 1-exercises/H-array-methods-2/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ let everyone = [
"Swathi",
];

let firstFive; // complete this statement
let lastFive; // complete this statement
let firstFive = everyone.slice(0, 5); // complete this statement
let lastFive = everyone.slice(2, 7); // complete this statement

/*
DO NOT EDIT BELOW THIS LINE
Expand Down
6 changes: 5 additions & 1 deletion 1-exercises/H-array-methods-2/exercise2.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@
Tip: use the string method .split() and the array method .join()
*/

function capitalise(str) {}
function capitalise(str) {
let result = str.split("");
result[0] = result[0].toUpperCase();
return result.join("");
}

/*
DO NOT EDIT BELOW THIS LINE
Expand Down
2 changes: 1 addition & 1 deletion 1-exercises/H-array-methods-2/exercise3.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
let ukNations = ["Scotland", "Wales", "England", "Northern Ireland"];

function isInUK(country) {
return; // complete this statement
return ukNations.includes(country); // complete this statement
}

/*
Expand Down
5 changes: 4 additions & 1 deletion 1-exercises/I-string-replace/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,10 @@
let story =
"I like dogs. One day I went to the park and I saw 10 dogs. It was a great day.";

let result = story.replace("", "");
let result = story.replace(
"I like dogs. One day I went to the park and I saw 10 dogs. It was a great day.",
"I like cats. One night I went to the park and I saw 100000 cats. It was a brilliant night."
);

/* EXPECTED OUTPUT */

Expand Down
2 changes: 1 addition & 1 deletion 1-exercises/J-string-substring/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

let statement = "I like programming and dogs";

statement = statement.substring();
statement = statement.substring(0, 18);

console.log(statement);

Expand Down
10 changes: 5 additions & 5 deletions 1-exercises/J-string-substring/exercise2.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ let names = [
"Arron Graham",
];

names[0] = names[0].substring();
names[1] = names[1].substring();
names[2] = names[2].substring();
names[3] = names[3].substring();
names[4] = names[4].substring();
names[0] = names[0].substring(0, 6);
names[1] = names[1].substring(0, 7);
names[2] = names[2].substring(0, 4);
names[3] = names[3].substring(0, 4);
names[4] = names[4].substring(0, 5);

names.forEach((name) => {
console.log(name);
Expand Down
2 changes: 1 addition & 1 deletion 1-exercises/J-string-substring/exercise3.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

let statement = "I do not like programming";

let result = "";
let result = statement.substring(0, 5) + statement.substring(9, 25);

console.log(result);

Expand Down
23 changes: 18 additions & 5 deletions 2-mandatory/1-create-functions.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,18 @@ Write a function that:
- Accepts an array as a parameter.
- Returns a new array containing the first five elements of the passed array.
*/
function first5() {
function first5(element) {
return element.slice(0, 5);
}

/*
Write a function that:
- Accepts an array as a parameter.
- Returns a new array containing the same elements, except sorted.
*/
function sortArray() {
function sortArray(letter) {
let element = letter.slice();
return element.sort();
}

/*
Expand All @@ -24,7 +27,10 @@ Write a function that:
- Removes any forward slashes (/) in the strings.
- Makes the strings all lowercase.
*/
function tidyUpString() {
function tidyUpString(array) {
return array.map((newArray) =>
newArray.trim().replace("/", "").toLowerCase()
);
}

/*
Expand All @@ -33,7 +39,8 @@ Write a function that:
- Returns a new array containing the same elements, but without the element at the passed index.
*/

function remove() {
function remove(array, index) {
return array.slice(0, index).concat(array.slice(index + 1));
}

/*
Expand All @@ -44,7 +51,13 @@ Write a function that:
- Numbers greater 100 must be replaced with 100.
*/

function formatPercentage() {
function formatPercentage(array) {
return array.map((number) => {
if (number > 100) {
return "100%";
}
return `${Math.round(number * 100) / 100}%`;
});
}

/* ======= TESTS - DO NOT MODIFY ===== */
Expand Down
9 changes: 8 additions & 1 deletion 2-mandatory/2-oxygen-levels.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,14 @@
Some string methods that might help you here are .replace() and .substring().
*/

function findSafeOxygenLevel() {}
function findSafeOxygenLevel(oxygenLevels) {
return oxygenLevels.find((element) => {
let newString = Number(element.replace("%", ""));
if (newString > 19.5 && newString < 23.5 && element.includes("%")) {
return element;
}
});
}

/* ======= TESTS - DO NOT MODIFY ===== */

Expand Down
6 changes: 5 additions & 1 deletion 2-mandatory/3-bush-berries.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,12 @@

function isBushSafe(berryArray) {
//Write your code here
if (berryArray.every((berry) => berry === "pink")) {
return "Bush is safe to eat from";
} else {
return "Toxic! Leave bush alone!";
}
}

/* ======= TESTS - DO NOT MODIFY ===== */

test("isBushSafe finds toxic busy", () => {
Expand Down
15 changes: 14 additions & 1 deletion 2-mandatory/4-space-colonies.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,20 @@

*/

function getSettlers() {}
function getSettlers(voyager) {
return voyager.filter((word) => {
if (word.includes("family") && word.startsWith("A")) {
return word;
}
});

// const findedWords = voyager.find(
// (word) => { if (word.includes("family") && word.startsWith("A")){
// return word;
// }
// );
// return findedWords;
}

/* ======= TESTS - DO NOT MODIFY ===== */

Expand Down
10 changes: 9 additions & 1 deletion 2-mandatory/5-eligible-students.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,15 @@
- Returns an array containing only the names of the who have attended AT LEAST 8 classes
*/

function getEligibleStudents() {}
function getEligibleStudents(classAttendance) {
return classAttendance
.filter((student) => {
if (student[1] > 7) {
return student[0];
}
})
.map((student) => student[0]);
}

/* ======= TESTS - DO NOT MODIFY ===== */

Expand Down
27 changes: 21 additions & 6 deletions 2-mandatory/6-journey-planner.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
function checkCodeIsThere(stringText) {
let magicWord = "code";
//edit code below
if (stringText) {
return stringText;
if (stringText.includes(magicWord)) {
return stringText.indexOf(magicWord);
} else {
return "Not found";
}
Expand Down Expand Up @@ -64,7 +64,9 @@ function checkCodeIsThere(stringText) {

Hint: Use the corresponding array method to split the array.
*/
function getTransportModes() {}
function getTransportModes(array) {
return array.slice(1);
}

/*
Implement the function isAccessibleByTransportMode that
Expand All @@ -81,7 +83,13 @@ function getTransportModes() {}

Hint: Use the corresponding array method to decide if an element is included in an array.
*/
function isAccessibleByTransportMode() {}
function isAccessibleByTransportMode(array, string) {
if (array.includes(string)) {
return true;
} else {
return false;
}
}

/*
Implement the function getLocationName that
Expand All @@ -92,7 +100,11 @@ function isAccessibleByTransportMode() {}
- Returns the name of the location
e.g: "Tower Bridge"
*/
function getLocationName() {}
function getLocationName(locations) {
if (locations) {
return locations[0];
}
}

/*
We arrived at the final method. it won't take long if you use the previously implemented functions wisely.
Expand Down Expand Up @@ -123,8 +135,11 @@ function getLocationName() {}
*/
function journeyPlanner(locations, transportMode) {
// Implement the function body
let findLocations = locations.filter((location) =>
location.includes(transportMode)
);
return findLocations.map((location) => location[0]);
}

/* ======= TESTS - DO NOT MODIFY ===== */

const string1 = "I Love coding and perfect code makes me happy";
Expand Down
Loading