Skip to content
This repository was archived by the owner on Oct 26, 2020. It is now read-only.

Deniz week 3 Mandatory and Exercises #78

Open
wants to merge 1 commit into
base: master
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
17 changes: 13 additions & 4 deletions week-3/1-exercises/A-array-find/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,20 @@

// write your code here

var names = ["Rakesh", "Antonio", "Alexandra", "Andronicus", "Annam", "Mikey", "Anastasia", "Karim", "Ahmed"];
let names = ["Rakesh", "Antonio", "Alexandra", "Andronicus", "Annam", "Mikey", "Anastasia", "Karim", "Ahmed"];

function findTheNames (arr){

let answer = arr.length > 7 && arr.charAt(0) === "A";
return answer;
}

let longNameThatStartsWithA = names.find (findTheNames);

// let longNameThatStartsWithA=names.find(findLongNameThatStartsWithA);

var longNameThatStartsWithA = findLongNameThatStartsWithA(names);

console.log(longNameThatStartsWithA);

/* EXPECTED OUTPUT */
// "Alexandra"
// /* EXPECTED OUTPUT */
// // "Alexandra"
11 changes: 7 additions & 4 deletions week-3/1-exercises/B-array-some/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,21 @@
*/

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

// 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);

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

function check (index){
return index==="null";
}
var exitProgram= pairsByIndex.some(check);
process.exit(1);

var pairs = pairsByIndex.map(function(indexes) {
var student = students[indexes[0]];
var mentor = mentors[indexes[1]];
return [student, mentor];
});

console.log(pairs);
console.log(pairs);
8 changes: 7 additions & 1 deletion week-3/1-exercises/C-array-every/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,13 @@
var students = ["Omar", "Austine", "Dany", "Swathi", "Lesley", "Rukmini"];
var group = ["Austine", "Dany", "Swathi", "Daniel"];

var groupIsOnlyStudents; // complete this statement
function answer(arr){
return (students.includes(arr))

}

var groupIsOnlyStudents = group.every(answer); // complete this statement


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

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

var pairsByIndex; // Complete this statement
var pairsByIndex= pairsByIndexRaw.filter(answer)
function answer (element){
return Array.isArray(element) && element.length===2;

}
console.log(pairsByIndex);
var students = ["Islam", "Lesley", "Harun", "Rukmini"];
var mentors = ["Daniel", "Irina", "Mozafar", "Luke"];

Expand Down
5 changes: 5 additions & 0 deletions week-3/1-exercises/E-array-map/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,9 @@
// Write multiple solutions using different syntax (as shown in the README)

var numbers = [0.1, 0.2, 0.3, 0.4, 0.5];
var hundredTimes= numbers.map(hundreds);

function hundreds (number){
return number*100;
}
console.log(hundredTimes);
19 changes: 19 additions & 0 deletions week-3/1-exercises/F-array-forEach/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,25 @@ var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];

/* EXPECTED OUTPUT */

arr.forEach(fizz)
function fizz(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);
}


}

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

var numbers = [3, 2, 1];
var sortedNumbers; // complete this statement
var sortedNumbers= numbers.sort(answer);
function answer(num1,num2){
return num1-num2;
}


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

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


/*
DO NOT EDIT BELOW THIS LINE
Expand Down
8 changes: 5 additions & 3 deletions week-3/1-exercises/H-array-methods-2/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,16 @@ var everyone = [
"Swathi"
];

var firstFive; // complete this statement
var lastFive; // complete this statement

var firstFive= everyone.splice(0,5);
var everyone= firstFive.concat(everyone);
var lastFive= everyone.splice(0,2);
var lastFive= everyone;
/*
DO NOT EDIT BELOW THIS LINE
--------------------------- */

console.log(firstFive);
console.log(everyone);
console.log(lastFive);

/*
Expand Down
14 changes: 11 additions & 3 deletions week-3/2-mandatory/1-oxygen-levels.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,18 @@ To be safe to land on, a planet needs to have an Oxygen level between 19.5% and

Write a function that finds the first safe oxygen level in the array - Oxygen between 19.5% and 23.5%
*/

function safeLevels() {

function safeLevels(arr){
let safeoxygen = arr.find(x => x>"19.5%" && x <"23.5%");
return safeoxygen;
}
// function safeLevels(oxygenLevel) {
// let safeLevels=oxygenLevel.find(oxygenLevel=> {
// if (oxygenLevel> "19.5%" && oxygenLevel < "23.5%"){
// return oxygenLevel;
// }
// })
// return safeLevels;
// }

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

Expand Down
11 changes: 9 additions & 2 deletions week-3/2-mandatory/2-bush-berries.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,15 @@
Use the tests to confirm which message to return
*/

function bushChecker() {

function bushChecker(arr) {
let safeberry= arr.every(x => x==="pink");
if (safeberry === true) {
return "Bush is safe to eat from";

}
else {
return "Toxic! Leave bush alone!"
}
}

/* ======= TESTS - DO NOT MODIFY ===== */
Expand Down
4 changes: 3 additions & 1 deletion week-3/2-mandatory/3-space-colonies.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
NOTE: don't include any element that is not a "family".
*/

function colonisers() {
function colonisers(arr) {
let safefamily =arr.filter(x=> x.length > 9 && x[0] ==="A");
return safefamily;

}

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

function eligibleStudents() {

function eligibleStudents(arr) {

let filteredstudent = arr.filter(checkStudentAttendens);
function checkStudentAttendens(nameAndAttandens){
return nameAndAttandens[1] >=8;

}
console.log(filteredstudent);
let getStudentNames= filteredstudent.map(bringName);
function bringName(nameAndAttandens){
return nameAndAttandens[0];

}
console.log(getStudentNames)
return getStudentNames;
}


// function eligibleStudents(arr) {
// let newArr = [];
// for (let i = 0; i < arr.length; i++) {
// for (let j = 0; j < arr[i].length; j++) {
// if (arr[i][j] >= 8) {
// newArr.push(arr[i][0]);
// }
// }
// } return newArr;

// }

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

const attendances = [
Expand Down
12 changes: 12 additions & 0 deletions week-3/2-mandatory/5-journey-planner.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,21 @@
NOTE: only the names should be returned, not the means of transport.
*/

<<<<<<< Updated upstream
function journeyPlanner() {
=======
function journeyPlanner(locationsArr, transport) {
let newArr = [];
for(let i = 0; i < locationsArr.length; i++) {
if (locationsArr[i].includes(transport)) {
newArr.push(locationsArr[i][0]);
}
}
return newArr;
>>>>>>> Stashed changes
}


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

const londonLocations = [
Expand Down
12 changes: 10 additions & 2 deletions week-3/2-mandatory/6-lane-names.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,16 @@
Write a function that will return all street names which contain 'Lane' in their name.
*/

function getLanes() {

function getLanes(arr) {

let street= []; // create blank array
let result= arr.map(x => x.indexOf("Lane")); // indexOf
for (let i = 0; i < arr.length; i++){ // create loop for checking every of them
if (result[i] !== -1 ) {
street.push(arr[i]);
}
}
return street;
}

/* ======= TESTS - DO NOT MODIFY ===== */
Expand Down
31 changes: 28 additions & 3 deletions week-3/2-mandatory/7-password-validator.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,39 @@ PasswordValidationResult= [false, false, false, false, true]

*/

function validatePasswords(passwords) {

// const passwords2 = ["tf1%", "Pl7nty!", "Ja4i", "s4hajsaUA**&&", "pl3nty!"];
function validatePasswords(arr) {
let bigArrayOfChar = arr.map(element => element.split('')); //map returns a new array
let result = bigArrayOfChar.map(index => index.some(isNum) && index.some(isUpperCase)
&& index.some(isLowerCase) && index.some(isSymbols) && index.length >=5);
return result;
}
function isNum(word) {
let newWord = word.split('');
let checkLetter = newWord.some(element => element >= 0 && element <= 9); //some returns boolean
return checkLetter;
}
function isUpperCase(word) {
let newWord = word.split('');
let checkUpperCase = newWord.some(element => element >= 'A' && element <= 'Z');
return checkUpperCase;
}
function isLowerCase(word) {
let newWord = word.split('');
let checkLowerCase = newWord.some(element => element >= 'a' && element <= 'z');
return checkLowerCase;
}
function isSymbols(word){
let newWord = word.split(''); //output ["w", "o", "r", "d"]
let result = newWord.some(element => element === '!' || element === '#' || element === '.' || element === '$' || element === '%');
return result;
}


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

const passwords1 = ["Se%5", "TktE.TJTU", "384#HsHF", "dvyyeyy!5", "tryT3729"]
const passwords2 = ["StUFf27%", "Pl3nty!", "Jai33", "shajsaUA**&&", "Pl3nty!"]
const passwords2 = ["StUFf27%", "Pl3nty!", "Jai33", "shajsaUA**&&", "Pl3nty"]

const util = require('util');

Expand Down