diff --git a/Week1/homework/app.js b/Week1/homework/app.js index a9b5f75d8..25a21035e 100644 --- a/Week1/homework/app.js +++ b/Week1/homework/app.js @@ -1,11 +1,76 @@ -'use strict'; +//make an array -{ - const bookTitles = [ - // Replace with your own book titles - 'harry_potter_chamber_secrets', - ]; +/*const bookList = [ + 'elia1', + 'elia2', + 'elia3', + 'elia4', + 'elia5', + 'elia6', + 'elia7', + 'elia7', + 'elia8', + 'elia9', + 'elia10', +]; - // Replace with your own code - console.log(bookTitles); +//console.log(bookList); + +//creat UL + +//make an object containing info + +let ul = document.createElement('ul'); +document.getElementById('books').appendChild(ul); + +bookList.forEach(book => { + let li = document.createElement('li'); + ul.appendChild(li); + li.innerHTML += book; +}); +*/ + +const bookInfo = { + 'Elia1': { + properties: { + name: 'Elia 1', + Author: 'Elia the Famouse', + Language: 'English', + img: 'eli.jpg', + }, + }, + 'Elia2': { + properties: { + name: 'Elia 2', + Author: 'Elia the Famouse', + Language: 'English', + img: 'eli.jpg', + }, + }, + 'Elia3': { + properties: { + name: 'Elia 3', + Author: 'Elia the Famouse', + Language: 'English', + img: 'eli.jpg', + }, + }, + 'Elia4': { + properties: { + name: 'Elia 4', + Author: 'Elia the Famouse', + Language: 'English', + img: 'eli.jpg', + }, + }, + 'Elia5': { + properties: { + name: 'Elia 5', + Author: 'Elia the Famouse', + Language: 'English', + img: 'eli.jpg', + }, + } } + +document.getElementById('inf').innerHTML = `
  • ${bookInfo.key}
  • `; \ No newline at end of file diff --git a/Week1/homework/eli.jpg b/Week1/homework/eli.jpg new file mode 100644 index 000000000..1b4be99ea Binary files /dev/null and b/Week1/homework/eli.jpg differ diff --git a/Week1/homework/index.html b/Week1/homework/index.html index b22147cd1..e195ab500 100644 --- a/Week1/homework/index.html +++ b/Week1/homework/index.html @@ -1 +1,15 @@ - \ No newline at end of file + + + + + Elia Books + +

    +
    + + + + + + \ No newline at end of file diff --git a/Week2/homework/maartjes-work.js b/Week2/homework/maartjes-work.js index 49772eb44..9f4c84959 100644 --- a/Week2/homework/maartjes-work.js +++ b/Week2/homework/maartjes-work.js @@ -1,7 +1,6 @@ 'use strict'; -const monday = [ - { +const monday = [{ name: 'Write a summary HTML/CSS', duration: 180, }, @@ -19,8 +18,7 @@ const monday = [ }, ]; -const tuesday = [ - { +const tuesday = [{ name: 'Keep writing summary', duration: 240, }, @@ -42,24 +40,28 @@ const tuesday = [ }, ]; -const maartjesTasks = monday.concat(tuesday); +const tasks = monday.concat(tuesday); const maartjesHourlyRate = 20; +// eslint-disable-next-line no-unused-vars +const earnings = computeEarnings(maartjesTasks, maartjesHourlyRate) + + function computeEarnings(tasks, hourlyRate) { - // Replace this comment and the next line with your code - console.log(tasks, hourlyRate); -} + const taskHours = tasks.map(hours => tasks.duration / 60).filter(hours => hours <= 2); + const euroRates = taskHours.map(hours => hours * maartjesHourlyRate); + + + -// eslint-disable-next-line no-unused-vars -const earnings = computeEarnings(maartjesTasks, maartjesHourlyRate); -// add code to convert `earnings` to a string rounded to two decimals (euro cents) + // add code to convert `earnings` to a string rounded to two decimals (euro cents) -console.log(`Maartje has earned €${'replace this string with the earnings rounded to euro cents'}`); + console.log(`Maartje has earned €${'replace this string with the earnings rounded to euro cents'}`); -// Do not change or remove anything below this line -module.exports = { - maartjesTasks, - maartjesHourlyRate, - computeEarnings, -}; + // Do not change or remove anything below this line + module.exports = { + maartjesTasks, + maartjesHourlyRate, + computeEarnings, + }; \ No newline at end of file diff --git a/Week2/homework/map-filter.js b/Week2/homework/map-filter.js index c8e8a88c1..4e83bcf99 100644 --- a/Week2/homework/map-filter.js +++ b/Week2/homework/map-filter.js @@ -1,11 +1,17 @@ 'use strict'; -function doubleOddNumbers(numbers) { - // Replace this comment and the next line with your code - console.log(numbers); -} - const myNumbers = [1, 2, 3, 4]; + +const doubleOddNumbers = numbers => { + const odds = numbers.filter(function(number) { + return number % 2 !== 0; + }); + const doubles = odds.map(function(number) { + return number * 2; + }); + return doubles; +}; + console.log(doubleOddNumbers(myNumbers)); // Do not change or remove anything below this line diff --git a/Week3/homework/step2-1.js b/Week3/homework/step2-1.js index d5699882c..ae4b83f0e 100644 --- a/Week3/homework/step2-1.js +++ b/Week3/homework/step2-1.js @@ -1,16 +1,18 @@ 'use strict'; -function foo(func) { - // What to do here? - // Replace this comment and the next line with your code - console.log(func); -} +function foo(bar) { + function bar() { + console.log('Hello, I am bar!'); + } + + console.log('Week3'); -function bar() { - console.log('Hello, I am bar!'); } + + foo(bar); + // Do not change or remove anything below this line -module.exports = foo; +module.exports = foo; \ No newline at end of file diff --git a/Week3/homework/step2-2.js b/Week3/homework/step2-2.js index dcd135040..66cb5d2c1 100644 --- a/Week3/homework/step2-2.js +++ b/Week3/homework/step2-2.js @@ -2,22 +2,28 @@ function threeFive(startIndex, stopIndex, threeCallback, fiveCallback) { const numbers = []; - - // Replace this comment and the next line with your code - console.log(startIndex, stopIndex, threeCallback, fiveCallback, numbers); + for (let i = startIndex; i <= stopIndex; i++) { + numbers.push(i); + if (i % 3 === 0) { + threeCallback(i); + } + if (i % 5 === 0) { + fiveCallback(i); + } + } } function sayThree(number) { - // Replace this comment and the next line with your code - console.log(number); -} + console.log('${number} is divisible by three') + +}; function sayFive(number) { - // Replace this comment and the next line with your code - console.log(number); + + console.log('${number} is divisible by five'); } threeFive(10, 15, sayThree, sayFive); // Do not change or remove anything below this line -module.exports = threeFive; +module.exports = threeFive; \ No newline at end of file diff --git a/Week3/homework/step2-3.js b/Week3/homework/step2-3.js index 00845c5eb..49fcabd76 100644 --- a/Week3/homework/step2-3.js +++ b/Week3/homework/step2-3.js @@ -5,21 +5,27 @@ function repeatStringNumTimesWithFor(str, num) { // eslint-disable-next-line prefer-const let result = ''; - // Replace this comment and the next line with your code - console.log(str, num, result); + for (let i = 0; i < num; i++) { + result = +str; + num--; + } return result; } - +// but when I console.log it returns : for NaN!!!! console.log('for', repeatStringNumTimesWithFor('abc', 3)); +/*************************************************************************/ + // Use a 'while' loop function repeatStringNumTimesWithWhile(str, num) { // eslint-disable-next-line prefer-const let result = ''; - // Replace this comment and the next line with your code - console.log(str, num, result); + while (num > 0) { + result += str; + num--; + } return result; } @@ -30,9 +36,12 @@ console.log('while', repeatStringNumTimesWithWhile('abc', 3)); function repeatStringNumTimesWithDoWhile(str, num) { // eslint-disable-next-line prefer-const let result = ''; + let i = 0; - // Replace this comment and the next line with your code - console.log(str, num, result); + do { + result = +str; + i++; + } while (i < num); return result; } diff --git a/Week3/homework/step2-4.js b/Week3/homework/step2-4.js index b11b1dcb6..7bf3e904c 100644 --- a/Week3/homework/step2-4.js +++ b/Week3/homework/step2-4.js @@ -1,10 +1,12 @@ 'use strict'; function Dog() { - // add your code here + this.name = "Albert"; + this.color = "brown"; + this.numLegs = 4; } const hound = new Dog(); // Do not change or remove anything below this line -module.exports = hound; +module.exports = hound; \ No newline at end of file diff --git a/Week3/homework/step2-5.js b/Week3/homework/step2-5.js index cbb54fa1d..9e2667018 100644 --- a/Week3/homework/step2-5.js +++ b/Week3/homework/step2-5.js @@ -4,14 +4,21 @@ function multiplyAll(arr) { // eslint-disable-next-line let product = 1; - // Replace this comment and the next line with your code - console.log(arr, product); + for (let i = 0; i < arr.length; i++) { + for (let j = 0; j < arr[i].length; j++) { + product = product * arr[i][j]; + } + } return product; } -const result = multiplyAll([[1, 2], [3, 4], [5, 6]]); +const result = multiplyAll([ + [1, 2], + [3, 4], + [5, 6] +]); console.log(result); // 720 // Do not change or remove anything below this line -module.exports = multiplyAll; +module.exports = multiplyAll; \ No newline at end of file diff --git a/Week3/homework/step2-6.js b/Week3/homework/step2-6.js index ffe95b9f7..592baa0df 100644 --- a/Week3/homework/step2-6.js +++ b/Week3/homework/step2-6.js @@ -1,16 +1,44 @@ 'use strict'; -const arr2d = [[1, 2], [3, 4], [5, 6]]; -const arr3d = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]; +const arr2d = [ + [1, 2], + [3, 4], + [5, 6] +]; +const arr3d = [ + [ + [1, 2], + [3, 4] + ], + [ + [5, 6], + [7, 8] + ] +]; function flattenArray2d(arr) { - // Replace this comment and the next line with your code - console.log(arr); + let flattenArr2 = []; + for (let i = 0; i < arr.length; i++) { + for (let j = 0; j < arr[i].length; j++) { + flattenArr2.push(arr[i][j]) + } + } + return flattenArr2; } +console.log(flattenArray2d(arr2d)); function flattenArray3d(arr) { - // Replace this comment and the next line with your code - console.log(arr); + const flattenArr3 = []; + for (let i = 0; i < arr.length; i++) { + for (let j = 0; j < arr[i].length; j++) { + for (let l = 0; l < arr[i][j].length; l++) { + + flattenArr3.push(arr[i][j][l]); + } + } + + } + return flattenArr3; } console.log(flattenArray2d(arr2d)); // -> [1, 2, 3, 4, 5, 6] @@ -20,4 +48,4 @@ console.log(flattenArray3d(arr3d)); // -> [1, 2, 3, 4, 5, 6, 7, 8] module.exports = { flattenArray2d, flattenArray3d, -}; +}; \ No newline at end of file diff --git a/Week3/homework/step2-7.js b/Week3/homework/step2-7.js index 3e72e8551..289c4e1e2 100644 --- a/Week3/homework/step2-7.js +++ b/Week3/homework/step2-7.js @@ -1,6 +1,7 @@ 'use strict'; const x = 9; + function f1(val) { val = val + 1; return val; @@ -10,7 +11,10 @@ f1(x); console.log(x); -const y = { x: 9 }; +const y = { + x: 9 +}; + function f2(val) { val.x = val.x + 1; return val; @@ -21,3 +25,7 @@ f2(y); console.log(y); // Add your explanation as a comment here + +//the first function just changes the integer but we console.log the x which is 9. +//the second function takes the value 'y' which is an object. It takes the value of x but then it updates the x +//to become 10 and indeed it updated the 'y'to become equal to 10 as well. \ No newline at end of file diff --git a/Week3/homework/step3-bonus.js b/Week3/homework/step3-bonus.js index 917091d61..cfee8909a 100644 --- a/Week3/homework/step3-bonus.js +++ b/Week3/homework/step3-bonus.js @@ -3,12 +3,12 @@ const values = ['a', 'b', 'c', 'd', 'a', 'e', 'f', 'c']; function makeUnique(arr) { - // Replace this comment and the next line with your code - console.log(arr); + return Array.from(new Set(arr)); + } const uniqueValues = makeUnique(values); console.log(uniqueValues); // Do not change or remove anything below this line -module.exports = makeUnique; +module.exports = makeUnique; \ No newline at end of file diff --git a/Week3/homework/step3.js b/Week3/homework/step3.js index 292724bf4..3ddcabeb0 100644 --- a/Week3/homework/step3.js +++ b/Week3/homework/step3.js @@ -1,8 +1,11 @@ 'use strict'; function createBase(base) { - // Replace this comment and the next line with your code - console.log(base); + + const addNum = function (num) { + return base + num; + }; + return addNum; } const addSix = createBase(6); @@ -10,5 +13,5 @@ const addSix = createBase(6); console.log(addSix(10)); // returns 16 console.log(addSix(21)); // returns 27 -// Do not change or remove anything below this line -module.exports = createBase; +// Do not change or remove anything below this line. +module.exports = createBase; \ No newline at end of file pFad - Phonifier reborn

    Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

    Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy