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

Week 3 homework - Amanul #94

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
52 changes: 24 additions & 28 deletions week-3/2-mandatory/1-oxygen-levels.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,43 +9,39 @@ 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(oxygenLevel) {
return oxygenLevel.find(planet);
}

function planet(safePlanet) {
if (parseFloat(safePlanet) > 19.5 && parseFloat(safePlanet) < 23.5) {
return `${safePlanet}%`;
// return safePlanet + "%";
}
}
/* ======= TESTS - DO NOT MODIFY ===== */

const oxygenLevels1 = ["24.2%", "11.3%", "19.9%", "23.1%", "29.3%", "20.2%"];
const oxygenLevels2 = ["30.8%", "23.5%", "18.8%", "19.5%", "20.2%", "31.6%"];
const oxygenLevels3 = ["200%", "21.1%"];

const util = require('util');
const util = require("util");

function test(test_name, actual, expected) {
let status;
if (actual === expected) {
status = "PASSED";
} else {
status = `FAILED: expected: ${util.inspect(expected)} but your function returned: ${util.inspect(actual)}`;
}

console.log(`${test_name}: ${status}`);
let status;
if (actual === expected) {
status = "PASSED";
} else {
status = `FAILED: expected: ${util.inspect(
expected
)} but your function returned: ${util.inspect(actual)}`;
}

console.log(`${test_name}: ${status}`);
}

test(
"safeLevels function works - case 1",
safeLevels(oxygenLevels1),
"19.9%"
);

test(
"safeLevels function works - case 2",
safeLevels(oxygenLevels2),
"20.2%"
);

test(
"safeLevels function works - case 3",
safeLevels(oxygenLevels3),
"21.1%"
);
test("safeLevels function works - case 1", safeLevels(oxygenLevels1), "19.9%");

test("safeLevels function works - case 2", safeLevels(oxygenLevels2), "20.2%");

test("safeLevels function works - case 3", safeLevels(oxygenLevels3), "21.1%");
37 changes: 25 additions & 12 deletions week-3/2-mandatory/2-bush-berries.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,26 +10,39 @@
Use the tests to confirm which message to return
*/

function bushChecker() {
function bushChecker(allBushBerryColours) {
var checkResult = allBushBerryColours.every(checkColour);
if (checkResult === true) {
return "Bush is safe to eat from";
} else {
return "Toxic! Leave bush alone!";
}
}

function checkColour(berryColour) {
if (berryColour === "pink") {
return true;
}
}

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

let bushBerryColours1 = ["pink", "pink", "pink", "neon", "pink", "transparent"]
let bushBerryColours2 = ["pink", "pink", "pink", "pink"]
let bushBerryColours1 = ["pink", "pink", "pink", "neon", "pink", "transparent"];
let bushBerryColours2 = ["pink", "pink", "pink", "pink"];

const util = require('util');
const util = require("util");

function test(test_name, actual, expected) {
let status;
if (actual === expected) {
status = "PASSED";
} else {
status = `FAILED: expected: ${util.inspect(expected)} but your function returned: ${util.inspect(actual)}`;
}

console.log(`${test_name}: ${status}`);
let status;
if (actual === expected) {
status = "PASSED";
} else {
status = `FAILED: expected: ${util.inspect(
expected
)} but your function returned: ${util.inspect(actual)}`;
}

console.log(`${test_name}: ${status}`);
}

test(
Expand Down
40 changes: 24 additions & 16 deletions week-3/2-mandatory/3-space-colonies.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,14 @@
NOTE: don't include any element that is not a "family".
*/

function colonisers() {
function colonisers(stayingFamilies) {
var stayingFamilies = stayingFamilies.filter(selectedFamilies);
return stayingFamilies;
// console.log(stayingFamilies);
}

function selectedFamilies(familyNames) {
return familyNames.includes("family") && familyNames.charAt(0) === "A";
}

/* ======= TESTS - DO NOT MODIFY ===== */
Expand All @@ -26,24 +32,26 @@ const voyagers = [
"Asimov",
"Oscar family",
"Avery family",
"Archer family"
"Archer family",
];

const util = require('util');
const util = require("util");

function test(test_name, actual, expected) {
let status;
if (util.isDeepStrictEqual(actual, expected)) {
status = "PASSED";
} else {
status = `FAILED: expected: ${util.inspect(expected)} but your function returned: ${util.inspect(actual)}`;
}

console.log(`${test_name}: ${status}`);
let status;
if (util.isDeepStrictEqual(actual, expected)) {
status = "PASSED";
} else {
status = `FAILED: expected: ${util.inspect(
expected
)} but your function returned: ${util.inspect(actual)}`;
}

console.log(`${test_name}: ${status}`);
}

test(
"colonisers function works",
colonisers(voyagers),
["Adam family", "Avery family", "Archer family"]
)
test("colonisers function works", colonisers(voyagers), [
"Adam family",
"Avery family",
"Archer family",
]);
46 changes: 28 additions & 18 deletions week-3/2-mandatory/4-eligible-students.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,17 @@
Create a function which:
- Accepts an array which contains all the students' names and their attendance counts
(see tests to confirm how this data will be structured)
- Returns an array containing only the names of the who have attended AT LEAST 8 classes
- Returns an array containing only the names of the students who have attended AT LEAST 8 classes
*/

function eligibleStudents() {

function eligibleStudents(studentWork) {
let studentsWhoCanSitExam = [];
for (i = 0; i < studentWork.length; i++) {
if (studentWork[i][1] >= 8) {
studentsWhoCanSitExam.push(studentWork[i][0]);
}
}
return studentsWhoCanSitExam;
}

/* ======= TESTS - DO NOT MODIFY ===== */
Expand All @@ -19,23 +25,27 @@ const attendances = [
["Elamin", 6],
["Adam", 7],
["Tayoa", 11],
["Nina", 10]
]
["Nina", 10],
];

const util = require('util');
const util = require("util");

function test(test_name, actual, expected) {
let status;
if (util.isDeepStrictEqual(actual, expected)) {
status = "PASSED";
} else {
status = `FAILED: expected: ${util.inspect(expected)} but your function returned: ${util.inspect(actual)}`;
}

console.log(`${test_name}: ${status}`);
let status;
if (util.isDeepStrictEqual(actual, expected)) {
status = "PASSED";
} else {
status = `FAILED: expected: ${util.inspect(
expected
)} but your function returned: ${util.inspect(actual)}`;
}

console.log(`${test_name}: ${status}`);
}

test("eligibleStudents function works",
eligibleStudents(attendances),
["Ahmed", "Clement", "Tayoa", "Nina"]
);
test("eligibleStudents function works", eligibleStudents(attendances), [
"Ahmed",
"Clement",
"Tayoa",
"Nina",
]);
31 changes: 20 additions & 11 deletions week-3/2-mandatory/5-journey-planner.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,14 @@
NOTE: only the names should be returned, not the means of transport.
*/

function journeyPlanner() {
function journeyPlanner(londonLocations, meansOfTransport) {
let availableLocations = [];
for (i = 0; i < londonLocations.length; i++) {
if (londonLocations[i].includes(meansOfTransport)) {
availableLocations.push(londonLocations[i][0]);
}
}
return availableLocations;
}

/* ======= TESTS - DO NOT MODIFY ===== */
Expand All @@ -17,19 +24,21 @@ const londonLocations = [
["Greenwich", "bus", "river boat", "dlr", "air line", "tube"],
["London Bridge", "tube", "river boat"],
["Tower Bridge", "tube", "bus"],
]
];

const util = require('util');
const util = require("util");

function test(test_name, actual, expected) {
let status;
if (util.isDeepStrictEqual(actual, expected)) {
status = "PASSED";
} else {
status = `FAILED: expected: ${util.inspect(expected)} but your function returned: ${util.inspect(actual)}`;
}

console.log(`${test_name}: ${status}`);
let status;
if (util.isDeepStrictEqual(actual, expected)) {
status = "PASSED";
} else {
status = `FAILED: expected: ${util.inspect(
expected
)} but your function returned: ${util.inspect(actual)}`;
}

console.log(`${test_name}: ${status}`);
}

test(
Expand Down
48 changes: 27 additions & 21 deletions week-3/2-mandatory/6-lane-names.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,35 +4,41 @@
Write a function that will return all street names which contain 'Lane' in their name.
*/

function getLanes() {
function lane(streetNamesIncludingLane) {
return streetNamesIncludingLane.includes("Lane");
}

function getLanes(streetNames) {
let result = streetNames.filter(lane);
return result;
}

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

const streetNames = [
"Abchurch Lane",
"Adam's Court",
"Addle Hill",
"Addle Lane",
"Alban Highwalk"
]
"Abchurch Lane",
"Adam's Court",
"Addle Hill",
"Addle Lane",
"Alban Highwalk",
];

const util = require('util');
const util = require("util");

function test(test_name, actual, expected) {
let status;
if (util.isDeepStrictEqual(actual, expected)) {
status = "PASSED";
} else {
status = `FAILED: expected: ${util.inspect(expected)} but your function returned: ${util.inspect(actual)}`;
}

console.log(`${test_name}: ${status}`);
let status;
if (util.isDeepStrictEqual(actual, expected)) {
status = "PASSED";
} else {
status = `FAILED: expected: ${util.inspect(
expected
)} but your function returned: ${util.inspect(actual)}`;
}

console.log(`${test_name}: ${status}`);
}

test(
"getLanes function works",
getLanes(streetNames),
["Abchurch Lane", "Addle Lane"]
);
test("getLanes function works", getLanes(streetNames), [
"Abchurch Lane",
"Addle Lane",
]);
Loading