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

London10-StellaDelMar_RodriguezFernandez-JavaScript-Core-1-Coursework-Week4 #240

Open
wants to merge 4 commits 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
9 changes: 9 additions & 0 deletions 1-exercises/A-array-find/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

// write your code here


let names = [
"Rakesh",
"Antonio",
Expand All @@ -17,6 +18,14 @@ let names = [
"Ahmed",
];

function isLongNameAndStartsWithA(name) {
return name.length > 7 && name[0] == "A";
}
function findLongNameThatStartsWithA(names){
return names.find(isLongNameAndStartsWithA);

}

let longNameThatStartsWithA = findLongNameThatStartsWithA(names);

console.log(longNameThatStartsWithA);
Expand Down
9 changes: 9 additions & 0 deletions 1-exercises/B-array-some/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,19 @@

let pairsByIndex = [[0, 3], [1, 2], [2, 1], null, [3, 0]];

//***************************************************

function isNullvalue(!number) {
return !number;
}

//***************************************************

Choose a reason for hiding this comment

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

Usually we don't use ! in our arguments. Also the error code still needs to be returned (in the comments below).

// If there is a null value in the array exit the program with the error code
// https://nodejs.org/api/process.html#process_process_exit_code
// process.exit(1);


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

Expand Down
6 changes: 5 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,11 @@
let students = ["Omar", "Austine", "Dany", "Swathi", "Lesley", "Rukmini"];
let group = ["Austine", "Dany", "Swathi", "Daniel"];

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

Copy link

@ButcherDing ButcherDing Apr 22, 2023

Choose a reason for hiding this comment

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

'any' isn't defined anywhere, and maybe rethink what is going to go inside .every().
.every() takes an array and gives us back 'true' if every element passes a certain test - this test can be a function - It looks like this is what you were trying to do.

Copy link
Author

Choose a reason for hiding this comment

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

Thank you 🙏 I see


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

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

let pairsByIndex; // Complete this statement
let pairsByIndex = pairsByIndexRaw.filter( item => item.length === 2);


// Complete this statement

Choose a reason for hiding this comment

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

Nice!

let students = ["Islam", "Lesley", "Harun", "Rukmini"];
let mentors = ["Daniel", "Irina", "Mozafar", "Luke"];
Expand Down
2 changes: 1 addition & 1 deletion 1-exercises/E-array-map/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

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

let numbersMultipliedByOneHundred; // complete this statement
let numbersMultipliedByOneHundred = numbers.map(number => number * 100); // complete this statement

console.log(numbersMultipliedByOneHundred);

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

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
3 changes: 1 addition & 2 deletions 1-exercises/G-array-methods/exercise2.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
let mentors = ["Daniel", "Irina", "Rares"];
let students = ["Rukmini", "Abdul", "Austine", "Swathi"];

let everyone; // complete this statement

let everyone = mentors.concat(students);
/*
DO NOT EDIT BELOW THIS LINE
--------------------------- */
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
10 changes: 9 additions & 1 deletion 1-exercises/H-array-methods-2/exercise2.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,16 @@
For example, capitailise("hello") should return "Hello"
Tip: use the string method .split() and the array method .join()
*/
//******
//originanl:
//function capitalise(str) {}
//*******

function capitalise(str) {}
function capitalise(str){
let uppercase = str.split("");
uppercase[0] = uppercase[0].toUpperCase();
return uppercase.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
3 changes: 2 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,8 @@
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("dogs");
console.log(result);

/* EXPECTED OUTPUT */

Expand Down
4 changes: 2 additions & 2 deletions 1-exercises/J-string-substring/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@

let statement = "I like programming and dogs";

statement = statement.substring();
let newStatement = statement.substring(0, 19);

console.log(statement);
console.log(newStatement);

/* EXPECTED OUTPUT

Expand Down
14 changes: 8 additions & 6 deletions 1-exercises/J-string-substring/exercise2.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@

You should log only the peoples first names.

For example, if the name is "John Smith" you should return "John"
For example, if the name is "John Smith" you

should return "John"
*/

let names = [
Expand All @@ -14,11 +16,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, 6);
names[2] = names[2].substring(0, 5);
names[3] = names[3].substring(0, 5);
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, 4)+statement.substring(8, statement.length);

console.log(result);

Expand Down
40 changes: 32 additions & 8 deletions 2-mandatory/1-create-functions.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,44 @@ 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() {

//let first5 = groceries.slice(0,5);

function first5(item) {
return item.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(array) {
const newArr = array.filter((e) => e).sort();
return newArr;
}

/*
NOTE: This exercise is the same as one you did last week - try to do it again using things you learnt this week.
Think about what is better about this solution than your one last week, and what is worse.

Write a function that:
- Takes an array of strings as input.
- Takes an array of strings as input.
- Removes any spaces in the beginning or end each string.
- Removes any forward slashes (/) in the strings.
- Makes the strings all lowercase.
*/
function tidyUpString() {

function tidyUpString(strings) {
const arr = [];
for (let i = 0; i < strings.length; i += 1) {
const string = strings[i];
arr.push(string
.trim()
.replace("/", '')
.toLowerCase());
}
return arr;
}

/*
Expand All @@ -33,7 +49,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, id) {
return array.filter((elem, index) => index !==id);
}

/*
Expand All @@ -44,9 +61,16 @@ Write a function that:
- Numbers greater 100 must be replaced with 100.
*/

function formatPercentage() {
}

function formatPercentage(numbers) {
return numbers.map((number) => {
if (number > 100) {
number = 100;
}
return `${Number(number.toFixed(2))}%`
});

}

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

test("first5 function works for more than five elements", () => {
Expand Down
17 changes: 16 additions & 1 deletion 2-mandatory/2-oxygen-levels.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,22 @@
Some string methods that might help you here are .replace() and .substring().
*/

function findSafeOxygenLevel() {}


function findSafeOxygenLevel(planets) {
for (let i = 0; i < planets.length; i++) {
const string = planets[i];
if (string.includes('%')) {
const number = string.replace("%", "");
const oxigenLevel = Number(number);
if (oxigenLevel > 19.5 && oxigenLevel < 23.5 ){
return number + '%'

}
}
}
}


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

Expand Down
15 changes: 14 additions & 1 deletion 2-mandatory/3-bush-berries.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,23 @@

Let's first look at an example that will teach you how to use these methods.
*/
//pink berries only safe to eat
//other berries not safe to eat
//Create a function which checks if the bush has ALL PINK berries and is safe for the astronauts to eat from the bush.
//Use the tests to confirm which message to return

function isBushSafe(berryArray) {
//for (let safeBerries = pink; index = berryArray;) {
const safeBerries = berryArray.filter ((pink) => pink).sort();
return safeBerries;

}
//Write your code here
}
//for (let index = 0; index < array.length; index++) {
//const element = array[index];




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

Expand Down
9 changes: 8 additions & 1 deletion 2-mandatory/4-space-colonies.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,15 @@
Logic: Only strings that start with A, and finish with family

*/
//in planet "Alpha" the families who start whit A should stay the others will search for
//other planets
//Create a function that returns an array of colonisers.
//hint empieza por A y debe de contener la palabra family al final

function getSettlers(voyager) {
return voyager.includes("family") && voyagers[0] == "A";
}

function getSettlers() {}

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

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

function getEligibleStudents() {}
function getEligibleStudents(students) {
let optIn =[];
for (let eligeble = 0; eligeble < students.legth; eligeble++){
if (students[elegible][1]>=8){
optIn.push(students[eligeble][0]);
}
}
return optIn;
}


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

Expand Down
Loading