From e2f4770cfed48be41e8ab461e52abf32c84588a3 Mon Sep 17 00:00:00 2001 From: Zaneta Sochon Date: Mon, 7 Apr 2025 18:32:25 +0200 Subject: [PATCH 01/12] feat(1): Resolve arithmetic operations --- 01/assets/js/app.js | 80 +++++++++++++++++++++++++++++++++++++++++++-- 01/index.html | 18 +++++----- 2 files changed, 86 insertions(+), 12 deletions(-) diff --git a/01/assets/js/app.js b/01/assets/js/app.js index 9323b98d..82b1a99f 100644 --- a/01/assets/js/app.js +++ b/01/assets/js/app.js @@ -1,4 +1,78 @@ -const a = '4.2'; -const b = 9; +let a = '4.2'; +let b = 9; -console.log(a, b); \ No newline at end of file +console.log(typeof a, typeof b); + +const concat = a + b; +console.log('Wynik konkatenacji:', concat); + +if (concat > 20) { + console.log('Wynik konkatenacji jest większy od 20'); +} else { + console.log('Wynik konkatenacji jest mniejszy od 20'); +} + +a = parseFloat(a); + +const add = a + b; +console.log('Wynik dodawania:', add); + +if (add > 20) { + console.log('Wynik dodawania jest większy od 20'); +} else { + console.log('Wynik dodawania jest mniejszy od 20'); +} + +const substract = a - b; +console.log('Wynik odejmowania:', substract); + +if (substract > 20) { + console.log('Wynik odejmowania jest większy od 20'); +} else { + console.log('Wynik odejmowania jest mniejszy od 20'); +} + +const multipli = a * b; +console.log('Wynik mnozenia:', multipli); + +if (multipli > 20) { + console.log('Wynik mnozenia jest większy od 20'); +} else { + console.log('Wynik mnozenia jest mniejszy od 20'); +} + +const divide = a / b; +console.log('Wynik dzielenia:', divide); + +if (divide > 20) { + console.log('Wynik dzielenia jest większy od 20'); +} else { + console.log('Wynik dzielenia jest mniejszy od 20'); +} + +const modulo = a % b; +console.log('wynik reszty z dzielenia:', modulo); + +if (modulo > 20) { + console.log('Wynik reszty z dzielenia jest większy od 20'); +} else { + console.log('Wynik reszty z dzielenia jest mniejszy od 20'); +} + +const inc = ++a; +console.log('Wynik inkrementacji:', inc); + +if (inc > 20) { + console.log('Wynik inkrementacji jest większy od 20'); +} else { + console.log('Wynik inkrementacji jest mniejszy od 20'); +} + +const dec = --b; +console.log('Wynik dekremenmtacji:', dec); + +if (dec > 20) { + console.log('Wynik dekrementacji jest większy od 20'); +} else { + console.log('Wynik dekrementacji jest mniejszy od 20'); +} diff --git a/01/index.html b/01/index.html index 5c55d687..fa2fad9d 100644 --- a/01/index.html +++ b/01/index.html @@ -1,12 +1,12 @@ - - - - + + + + devmentor.pl - JS BASICS - #01 - - - - - \ No newline at end of file + + + + + From 4494edc9295018663b46d3773efa6a7290590bba Mon Sep 17 00:00:00 2001 From: Zaneta Sochon Date: Tue, 8 Apr 2025 14:01:56 +0200 Subject: [PATCH 02/12] feat(2): Resolve task with loops --- 02/app.js | 29 ++++++++++++++++++++++++++--- 02/index.html | 18 +++++++++--------- 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/02/app.js b/02/app.js index b397190c..8c8dca3c 100644 --- a/02/app.js +++ b/02/app.js @@ -1,7 +1,30 @@ - /* rozwiązanie z pętlą for */ -const x = 4; +// const x = prompt('Podaj liczbę!'); + +// for (let i = 1; i <= 9; i++) { +// const result = x * i; + +// if (x > 0 && x < 10) { +// console.log(`${x} x ${i} = ${result}`); +// } else { +// console.log('Liczba nie mieści się w przedziale od 1 do 9'); +// } +// } + +/* rozwiązanie z pętlą while */ + +let a = 3; //podstawa +let n = 4; //wykładnik + +let counter = 0; +let result = 1; +let displayString = ''; +while (counter < n) { + counter++; + result = result * a; + displayString = `${displayString} * ${a}`; +} -/* rozwiązanie z pętlą while */ \ No newline at end of file +console.log(`${displayString} = ${result}`); diff --git a/02/index.html b/02/index.html index 30150099..ca814da1 100644 --- a/02/index.html +++ b/02/index.html @@ -1,12 +1,12 @@ - - - - + + + + devmentor.pl - JS BASICS - #02 - - - - - \ No newline at end of file + + + + + From e614a24c237503c5e46d015e805c62c5ed80c7a6 Mon Sep 17 00:00:00 2001 From: Zaneta Sochon Date: Wed, 9 Apr 2025 18:05:02 +0200 Subject: [PATCH 03/12] feat(3): Create three functions --- 03/app.js | 67 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/03/app.js b/03/app.js index 5b9361e4..b22e1b88 100644 --- a/03/app.js +++ b/03/app.js @@ -1,18 +1,63 @@ const min = 1; const max = 100; -const a = randomNumber(min, max); -const b = randomNumber(min, max); -const c = randomNumber(min, max); +let a = randomNumber(min, max); +let b = randomNumber(min, max); +let c = randomNumber(min, max); console.log(a, b, c); - - - - - - function randomNumber(min, max) { - return Math.round((Math.random() * (max - min)) + min); -} \ No newline at end of file + return Math.round(Math.random() * (max - min) + min); +} + +const getSum = (a, b, c) => { + a = parseInt(a); + b = parseInt(b); + c = parseInt(c); + + const firstComb = (a > b && b > c) || (a < b && b > c && a > c) ? a + b : null; + const secondComb = a > b && c > b ? a + c : null; + const thirdComb = b > a && c > a ? b + c : null; + + if (firstComb === null && secondComb === null) { + return thirdComb; + } else if (firstComb === null && thirdComb === null) { + return secondComb; + } else if (thirdComb === null && secondComb === null) { + return firstComb; + } +}; + +const isEven = function (sum) { + if (typeof sum === typeof number) { + return null; + } else if (sum % 2 === 0) { + return true; + } + + return false; +}; + +const showInfo = (num, bool) => { + const isNull = `Podany arguments ${num} nie jest liczbą`; + const isTrue = `Podany arguments ${num} jest parzysty`; + const isFalse = `Podany arguments ${num} jest nieparzysty`; + const errorMessage = 'Something went wrong'; + + const randomBool = bool; + switch (randomBool) { + case null: + return isNull; + case true: + return isTrue; + case false: + return isFalse; + default: + return errorMessage; + } +}; + +const sum = getSum(a, b, c); +const even = isEven(sum); +const show = showInfo(sum, even); From 32e62fb0b7e198241a326f2d4cd3077a0c1bb770 Mon Sep 17 00:00:00 2001 From: Zaneta Sochon Date: Thu, 10 Apr 2025 22:50:19 +0200 Subject: [PATCH 04/12] feat: Write functions / practice --- 04/app.js | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 04/app.js diff --git a/04/app.js b/04/app.js new file mode 100644 index 00000000..fadb832e --- /dev/null +++ b/04/app.js @@ -0,0 +1,77 @@ +// 1. + +const createArray = (a, b) => { + const emptyArr = []; + + for (let i = 0; i < 20; i++) { + let randomNumbers = Math.round(Math.random() * (b - a) + a); + emptyArr.push(randomNumbers); + } + return emptyArr; +}; + +const arr = createArray(1, 100); +console.log('Tworzymy tablice:', arr); + +// 2. + +const getLargest = function (arrToSort) { + const sortArr = arrToSort.sort(function (a, b) { + return b - a; + }); + + const theBiggestNumbers = sortArr.slice(-20, 10); + return theBiggestNumbers; +}; + +const largest = getLargest(arr); +console.log('Wybieramy 10 największych liczb z posortowanej malejąco tablicy:', largest); + +// 3. +const getAvg = (arr) => { + const initValue = 0; + const sumWithInitValue = arr.reduce((acc, currValue) => acc + currValue, initValue); + + const arithmeticAvg = sumWithInitValue / arr.length; + + return arithmeticAvg; +}; + +const avg = getAvg([1, 2, 3, 4, 5]); +console.log('Średnia arytmetyczna tablicy:', avg); + +4; + +const getArr = (a, b) => { + const emptyArray = []; + + for (let i = 0; i < 20; i++) { + let randomNum = Math.round(Math.random() * (b - a) + a); + emptyArray.push(randomNum); + } + + return emptyArray; +}; + +const newArr = getArr(10, 200); +console.log('Nowa tablica:', newArr); + +const getTenBiggest = (sortNumbers) => { + const sortArr = sortNumbers.sort(function (a, b) { + return b - a; + }); + + const getBiggestTen = sortArr.slice(-20, 10); + console.log(getBiggestTen); + + initValue = 0; + const sumBiggestTen = getBiggestTen.reduce((acc, curr) => acc + curr, initValue); + console.log(sumBiggestTen); + const avgBiggestTen = sumBiggestTen / getBiggestTen.length; + console.log(avgBiggestTen); + + return avgBiggestTen; +}; + +const biggestTen = getTenBiggest(newArr); +console.log('Średnia arytmetyczna 10 największych liczb:', biggestTen); From 9052adf027117a2ce3300379126d0cb2873236c5 Mon Sep 17 00:00:00 2001 From: Zaneta Sochon Date: Sun, 13 Apr 2025 21:26:15 +0200 Subject: [PATCH 05/12] feat(5): Resolve task from basics js module --- 05/app.js | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 05/app.js diff --git a/05/app.js b/05/app.js new file mode 100644 index 00000000..1ae673e5 --- /dev/null +++ b/05/app.js @@ -0,0 +1,56 @@ +function Student(firstName, lastName) { + this.firstName = firstName; + this.lastName = lastName; + this.grades = {}; +} + +Student.prototype.addGrade = function (subjectName, grade) { + const subject = subjectName; + const grades = this.grades[subject]; + + if (typeof this.grades[subject] === 'undefined') { + this.grades[subject] = []; + } + this.grades[subject].push(grade); +}; + +Student.prototype.getAverageGrade = function (gradeKey) { + const subject = gradeKey; + const grades = this.grades[subject]; + + const initVal = 0; + const sumWithInit = grades.reduce((acc, curr) => acc + curr, initVal); + const avgSum = sumWithInit / grades.length; + + return avgSum; +}; + +Student.prototype.getAverageGrade = function () { + const grades = Object.values(this.grades); + const allGrades = []; + + for (let i = 0; i < grades.length; i++) { + let grade = grades[i]; + for (let j = 0; j < grade.length; j++) { + allGrades.push(grade[j]); + } + } + + const initVal = 0; + const sumWithInit = allGrades.reduce((acc, curr) => acc + curr, initVal); + const avgSum = sumWithInit / allGrades.length; + + return avgSum; +}; + +const student = new Student('Jan', 'Kowalski'); + +student.addGrade('maths', 4); +student.addGrade('maths', 6); +student.addGrade('english', 3); +const avgMath = student.getAverageGrade('maths'); +const avg = student.getAverageGrade(); + +console.log(student); +// console.log(avgMath); +console.log(avg); From c0d779609a6a31afbdd6522f41b84cec9cd6a388 Mon Sep 17 00:00:00 2001 From: Zaneta Sochon Date: Thu, 17 Apr 2025 06:27:42 +0200 Subject: [PATCH 06/12] fix: Refactor --- 01/assets/js/app.js | 80 ++++++++++++++------------------------------- 1 file changed, 25 insertions(+), 55 deletions(-) diff --git a/01/assets/js/app.js b/01/assets/js/app.js index 82b1a99f..c4b4f22a 100644 --- a/01/assets/js/app.js +++ b/01/assets/js/app.js @@ -4,75 +4,45 @@ let b = 9; console.log(typeof a, typeof b); const concat = a + b; -console.log('Wynik konkatenacji:', concat); - -if (concat > 20) { - console.log('Wynik konkatenacji jest większy od 20'); -} else { - console.log('Wynik konkatenacji jest mniejszy od 20'); -} +// console.log('Wynik konkatenacji:', concat); a = parseFloat(a); const add = a + b; -console.log('Wynik dodawania:', add); - -if (add > 20) { - console.log('Wynik dodawania jest większy od 20'); -} else { - console.log('Wynik dodawania jest mniejszy od 20'); -} +// console.log('Wynik dodawania:', add); const substract = a - b; -console.log('Wynik odejmowania:', substract); - -if (substract > 20) { - console.log('Wynik odejmowania jest większy od 20'); -} else { - console.log('Wynik odejmowania jest mniejszy od 20'); -} +// console.log('Wynik odejmowania:', substract); const multipli = a * b; -console.log('Wynik mnozenia:', multipli); - -if (multipli > 20) { - console.log('Wynik mnozenia jest większy od 20'); -} else { - console.log('Wynik mnozenia jest mniejszy od 20'); -} +// console.log('Wynik mnozenia:', multipli); const divide = a / b; -console.log('Wynik dzielenia:', divide); - -if (divide > 20) { - console.log('Wynik dzielenia jest większy od 20'); -} else { - console.log('Wynik dzielenia jest mniejszy od 20'); -} +// console.log('Wynik dzielenia:', divide); const modulo = a % b; -console.log('wynik reszty z dzielenia:', modulo); - -if (modulo > 20) { - console.log('Wynik reszty z dzielenia jest większy od 20'); -} else { - console.log('Wynik reszty z dzielenia jest mniejszy od 20'); -} +// console.log('wynik reszty z dzielenia:', modulo); const inc = ++a; -console.log('Wynik inkrementacji:', inc); - -if (inc > 20) { - console.log('Wynik inkrementacji jest większy od 20'); -} else { - console.log('Wynik inkrementacji jest mniejszy od 20'); -} +// console.log('Wynik inkrementacji:', inc); const dec = --b; -console.log('Wynik dekremenmtacji:', dec); +// console.log('Wynik dekremenmtacji:', dec); + +const arr = [concat, add, substract, multipli, divide, modulo, inc, dec]; + +const isBigger = []; +const isSmaller = []; + +const checkResult = arr.map((item) => { + if (item > 20) { + isBigger.push(item); + } + + if (item < 20) { + isSmaller.push(item); + } +}); -if (dec > 20) { - console.log('Wynik dekrementacji jest większy od 20'); -} else { - console.log('Wynik dekrementacji jest mniejszy od 20'); -} +console.log('Wyniki działan większy niz 20', isBigger); +console.log('Wynik dzialan mniejszy niz 20', isSmaller); From b1c11caa972ec60b58d84d47d440389ff5deee25 Mon Sep 17 00:00:00 2001 From: Zaneta Sochon Date: Thu, 17 Apr 2025 06:33:40 +0200 Subject: [PATCH 07/12] fix(2): Refactor --- 02/app.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/02/app.js b/02/app.js index 8c8dca3c..88e33e7a 100644 --- a/02/app.js +++ b/02/app.js @@ -24,7 +24,11 @@ while (counter < n) { counter++; result = result * a; - displayString = `${displayString} * ${a}`; + if (counter === 1) { + displayString = `${a}`; + } else { + displayString = `${displayString} * ${a}`; + } } console.log(`${displayString} = ${result}`); From 31942e1bf8c7a0c8c6bdf5cba0e9e461b78767ff Mon Sep 17 00:00:00 2001 From: Zaneta Sochon Date: Thu, 17 Apr 2025 06:55:02 +0200 Subject: [PATCH 08/12] fix(3): Refactor --- 03/app.js | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/03/app.js b/03/app.js index b22e1b88..351fd7dd 100644 --- a/03/app.js +++ b/03/app.js @@ -16,17 +16,15 @@ const getSum = (a, b, c) => { b = parseInt(b); c = parseInt(c); - const firstComb = (a > b && b > c) || (a < b && b > c && a > c) ? a + b : null; - const secondComb = a > b && c > b ? a + c : null; - const thirdComb = b > a && c > a ? b + c : null; - - if (firstComb === null && secondComb === null) { - return thirdComb; - } else if (firstComb === null && thirdComb === null) { - return secondComb; - } else if (thirdComb === null && secondComb === null) { - return firstComb; - } + const arr = [a, b, c]; + + const arrSort = arr.sort(); + const twoBiggest = arrSort.slice(1); + + const initVal = 0; + const sumWithInitVal = twoBiggest.reduce((acc, curr) => acc + curr, initVal); + + return sumWithInitVal; }; const isEven = function (sum) { From aa9c88ac5d946f2b119e482fcf46acc8b59d80ee Mon Sep 17 00:00:00 2001 From: Zaneta Sochon Date: Thu, 17 Apr 2025 07:10:06 +0200 Subject: [PATCH 09/12] fix(3): Refactor --- 03/app.js | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/03/app.js b/03/app.js index 351fd7dd..7ea9a0b2 100644 --- a/03/app.js +++ b/03/app.js @@ -5,8 +5,6 @@ let a = randomNumber(min, max); let b = randomNumber(min, max); let c = randomNumber(min, max); -console.log(a, b, c); - function randomNumber(min, max) { return Math.round(Math.random() * (max - min) + min); } @@ -38,22 +36,23 @@ const isEven = function (sum) { }; const showInfo = (num, bool) => { - const isNull = `Podany arguments ${num} nie jest liczbą`; - const isTrue = `Podany arguments ${num} jest parzysty`; - const isFalse = `Podany arguments ${num} jest nieparzysty`; - const errorMessage = 'Something went wrong'; + const messages = { + null: `Podany arguments ${num} nie jest liczbą`, + true: `Podany arguments ${num} jest parzysty`, + false: `Podany arguments ${num} jest nieparzysty`, + }; - const randomBool = bool; + const randomBool = messages[bool]; switch (randomBool) { case null: - return isNull; + return messages[bool]; case true: - return isTrue; + return messages[bool]; case false: - return isFalse; - default: - return errorMessage; + return messages[bool]; } + + return randomBool; }; const sum = getSum(a, b, c); From 544b74a43e245986d8d603e7739320156f407652 Mon Sep 17 00:00:00 2001 From: Zaneta Sochon Date: Thu, 17 Apr 2025 17:47:19 +0200 Subject: [PATCH 10/12] fix(5): Refactor --- 05/app.js | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/05/app.js b/05/app.js index 1ae673e5..241464f3 100644 --- a/05/app.js +++ b/05/app.js @@ -14,33 +14,33 @@ Student.prototype.addGrade = function (subjectName, grade) { this.grades[subject].push(grade); }; -Student.prototype.getAverageGrade = function (gradeKey) { - const subject = gradeKey; - const grades = this.grades[subject]; - +const getAvgCalc = function (gradesArray) { const initVal = 0; - const sumWithInit = grades.reduce((acc, curr) => acc + curr, initVal); - const avgSum = sumWithInit / grades.length; + const sumWithInit = gradesArray.reduce((acc, curr) => acc + curr, initVal); + const avgCalc = sumWithInit / gradesArray.length; - return avgSum; + return avgCalc; }; -Student.prototype.getAverageGrade = function () { - const grades = Object.values(this.grades); +Student.prototype.getAverageGrade = function (gradeKey) { + const subject = gradeKey; + const grades = this.grades[subject]; + + const gradesVal = Object.values(this.grades); const allGrades = []; - for (let i = 0; i < grades.length; i++) { - let grade = grades[i]; + for (let i = 0; i < gradesVal.length; i++) { + let grade = gradesVal[i]; for (let j = 0; j < grade.length; j++) { allGrades.push(grade[j]); } } - const initVal = 0; - const sumWithInit = allGrades.reduce((acc, curr) => acc + curr, initVal); - const avgSum = sumWithInit / allGrades.length; - - return avgSum; + if (subject) { + return grades; + } else { + return allGrades; + } }; const student = new Student('Jan', 'Kowalski'); @@ -48,9 +48,11 @@ const student = new Student('Jan', 'Kowalski'); student.addGrade('maths', 4); student.addGrade('maths', 6); student.addGrade('english', 3); -const avgMath = student.getAverageGrade('maths'); +// const avgMath = student.getAverageGrade('maths'); const avg = student.getAverageGrade(); +const weird = getAvgCalc(avg); console.log(student); // console.log(avgMath); console.log(avg); +console.log(weird); From aca5834ddf8fe965840475eae6ce4218599f54e8 Mon Sep 17 00:00:00 2001 From: Zaneta Sochon Date: Mon, 21 Apr 2025 13:14:35 +0200 Subject: [PATCH 11/12] fix(01): Refactor condition if..else --- 01/assets/js/app.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/01/assets/js/app.js b/01/assets/js/app.js index c4b4f22a..8f80c054 100644 --- a/01/assets/js/app.js +++ b/01/assets/js/app.js @@ -37,9 +37,7 @@ const isSmaller = []; const checkResult = arr.map((item) => { if (item > 20) { isBigger.push(item); - } - - if (item < 20) { + } else if (item < 20) { isSmaller.push(item); } }); From e2716751876cde5923ba1dbcf2653f154abd9e92 Mon Sep 17 00:00:00 2001 From: Zaneta Sochon Date: Mon, 21 Apr 2025 13:18:13 +0200 Subject: [PATCH 12/12] fix(03): Remove useless switch --- 03/app.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/03/app.js b/03/app.js index 7ea9a0b2..e7dad4a3 100644 --- a/03/app.js +++ b/03/app.js @@ -43,14 +43,6 @@ const showInfo = (num, bool) => { }; const randomBool = messages[bool]; - switch (randomBool) { - case null: - return messages[bool]; - case true: - return messages[bool]; - case false: - return messages[bool]; - } return randomBool; };