From 180463795c84775b40d9b2872df5b2ee16c53c82 Mon Sep 17 00:00:00 2001 From: saloon Date: Sun, 7 Apr 2024 21:55:18 +0300 Subject: [PATCH 1/4] commit --- 7-converter/app.js | 22 ++++++++++++++++++++++ 7-converter/index.html | 12 ++++++++++++ 8-crypto/app.js | 17 +++++++++++++++++ 8-crypto/index.html | 12 ++++++++++++ 9-sort-loops/app.js | 35 +++++++++++++++++++++++++++++++++++ 9-sort-loops/index.html | 12 ++++++++++++ 6 files changed, 110 insertions(+) create mode 100644 7-converter/app.js create mode 100644 7-converter/index.html create mode 100644 8-crypto/app.js create mode 100644 8-crypto/index.html create mode 100644 9-sort-loops/app.js create mode 100644 9-sort-loops/index.html diff --git a/7-converter/app.js b/7-converter/app.js new file mode 100644 index 0000000..cb60ed0 --- /dev/null +++ b/7-converter/app.js @@ -0,0 +1,22 @@ +// Совершенно не понял как сделать это, пытался прогуглить, но там уже более сложные примеры и варианты решения подобной задачи. Направьте, пожалуйста, какое решение применить? + +function summ (amount, sourceCurrency, targetCurrencyUSD, targetCurrencyEUR ) { + let USD = 90; + let RUB = 1; + let EUR = 96; + let targetUSD = USD > RUB; + let targetEUR = EUR > RUB; + + switch(true) { + case targetUSD: + return (amount / USD) + targetCurrencyUSD; + + case targetEUR: + return (amount / EUR) + targetCurrencyEUR; + + default: + return null || 0; + } +}; + +console.log(summ(1000, ` руб.`, `$`, `€`)); \ No newline at end of file diff --git a/7-converter/index.html b/7-converter/index.html new file mode 100644 index 0000000..5143a36 --- /dev/null +++ b/7-converter/index.html @@ -0,0 +1,12 @@ + + + + + + Document + + + + + + \ No newline at end of file diff --git a/8-crypto/app.js b/8-crypto/app.js new file mode 100644 index 0000000..965ae30 --- /dev/null +++ b/8-crypto/app.js @@ -0,0 +1,17 @@ +const password = ['s','s','a','p','d','o','r','w']; +const fullPassword = password.join(''); +console.log(fullPassword); + + +// Как в массиве сделать перестановку символов местами без их удаления и вернуть потом обратно? +function passEncryptor() { + password [2] = password.splice(0, 1, password[3])[0]; + console.log(password); + +}; +passEncryptor(); + +function passCheck () { + console.log(fullPassword.includes('ssapdorw'|| 'password')); +}; +passCheck(); \ No newline at end of file diff --git a/8-crypto/index.html b/8-crypto/index.html new file mode 100644 index 0000000..5143a36 --- /dev/null +++ b/8-crypto/index.html @@ -0,0 +1,12 @@ + + + + + + Document + + + + + + \ No newline at end of file diff --git a/9-sort-loops/app.js b/9-sort-loops/app.js new file mode 100644 index 0000000..308008d --- /dev/null +++ b/9-sort-loops/app.js @@ -0,0 +1,35 @@ +const arr = [1, 40, -50, -20, -10, 5, 0, 100]; + +function sort(arrayOfSort) { + for (const element of arrayOfSort) { + switch (true) { + case arr[0] > arr [1]: + arr1 = arr[1]; + arr[1] = arr[0]; + arr[0] = arr1; + case arr[1] > arr [2]: + arr2 = arr[2]; + arr[2] = arr[1]; + arr[1] = arr2; + case arr[2] > arr [3]: + arr3 = arr[3]; + arr[3] = arr[2]; + arr[2] = arr3; + case arr[3] > arr [4]: + arr4 = arr[4]; + arr[4] = arr[3]; + arr[3] = arr4; + case arr[4] > arr [5]: + arr5 = arr[5]; + arr[5] = arr[4]; + arr[4] = arr5; + case arr[5] > arr [6]: + arr6 = arr[6]; + arr[6] = arr[5]; + arr[5] = arr6; + }; + }; + return arr; +}; + +console.log(sort(arr)) \ No newline at end of file diff --git a/9-sort-loops/index.html b/9-sort-loops/index.html new file mode 100644 index 0000000..5143a36 --- /dev/null +++ b/9-sort-loops/index.html @@ -0,0 +1,12 @@ + + + + + + Document + + + + + + \ No newline at end of file From 6b6989807000228fa400524f6fc88edb589c1226 Mon Sep 17 00:00:00 2001 From: saloon Date: Sun, 9 Jun 2024 18:31:44 +0300 Subject: [PATCH 2/4] commit --- 7-converter/app.js | 50 +++++++++++++++++++++++++++------------------ 8-crypto/app.js | 31 ++++++++++++++++------------ 9-sort-loops/app.js | 40 +++++++++--------------------------- 3 files changed, 58 insertions(+), 63 deletions(-) diff --git a/7-converter/app.js b/7-converter/app.js index cb60ed0..3d552b7 100644 --- a/7-converter/app.js +++ b/7-converter/app.js @@ -1,22 +1,32 @@ -// Совершенно не понял как сделать это, пытался прогуглить, но там уже более сложные примеры и варианты решения подобной задачи. Направьте, пожалуйста, какое решение применить? - -function summ (amount, sourceCurrency, targetCurrencyUSD, targetCurrencyEUR ) { - let USD = 90; - let RUB = 1; - let EUR = 96; - let targetUSD = USD > RUB; - let targetEUR = EUR > RUB; - - switch(true) { - case targetUSD: - return (amount / USD) + targetCurrencyUSD; - - case targetEUR: - return (amount / EUR) + targetCurrencyEUR; - - default: - return null || 0; - } +function summ (amount, sourceCurrency, targetCurrency) { + switch (sourceCurrency) { + case 'RUB': switch (targetCurrency) { + case 'USD': return amount / 89.7619; + case 'EUR': return amount / 97.9126; + case 'GBP': return amount / 113.6027; + default: return null; + } + case 'USD': switch (targetCurrency) { + case 'RUB': return amount * 89.7619; + case 'EUR': return amount * 0.9168; + case 'GBP': return amount * 0.7901; + default: return null; + } + case 'EUR': switch (targetCurrency) { + case 'RUB': return amount * 97.9126; + case 'USD': return amount * 1.0908; + case 'GBP': return amount * 0.8619; + default: return null; + } + case 'GBP': switch (targetCurrency) { + case 'RUB': return amount * 113.6027; + case 'USD': return amount * 1.2656; + case 'EUR': return amount * 1.1602; + default: return null; + } + default: + return null; + } }; -console.log(summ(1000, ` руб.`, `$`, `€`)); \ No newline at end of file +console.log(summ(1000, 'RUB', 'USD')); \ No newline at end of file diff --git a/8-crypto/app.js b/8-crypto/app.js index 965ae30..060fbe7 100644 --- a/8-crypto/app.js +++ b/8-crypto/app.js @@ -1,17 +1,22 @@ -const password = ['s','s','a','p','d','o','r','w']; -const fullPassword = password.join(''); -console.log(fullPassword); - +function crypto(password) { + let cryptoPass = password.split(['']); + cryptoPass.reverse(); + return cryptoPass; +}; +console.log(crypto('password')); -// Как в массиве сделать перестановку символов местами без их удаления и вернуть потом обратно? -function passEncryptor() { - password [2] = password.splice(0, 1, password[3])[0]; - console.log(password); -}; -passEncryptor(); +function check() { + let encryptedPass = crypto('password'); + encryptedPass.reverse(); + let truePass = encryptedPass.join(''); -function passCheck () { - console.log(fullPassword.includes('ssapdorw'|| 'password')); + switch (truePass) { + case 'password': + console.log('Пароль верный!'); + break; + default: + console.log('Пароль неверный!'); + }; }; -passCheck(); \ No newline at end of file +console.log(check()); \ No newline at end of file diff --git a/9-sort-loops/app.js b/9-sort-loops/app.js index 308008d..bdf9aea 100644 --- a/9-sort-loops/app.js +++ b/9-sort-loops/app.js @@ -1,35 +1,15 @@ const arr = [1, 40, -50, -20, -10, 5, 0, 100]; -function sort(arrayOfSort) { - for (const element of arrayOfSort) { - switch (true) { - case arr[0] > arr [1]: - arr1 = arr[1]; - arr[1] = arr[0]; - arr[0] = arr1; - case arr[1] > arr [2]: - arr2 = arr[2]; - arr[2] = arr[1]; - arr[1] = arr2; - case arr[2] > arr [3]: - arr3 = arr[3]; - arr[3] = arr[2]; - arr[2] = arr3; - case arr[3] > arr [4]: - arr4 = arr[4]; - arr[4] = arr[3]; - arr[3] = arr4; - case arr[4] > arr [5]: - arr5 = arr[5]; - arr[5] = arr[4]; - arr[4] = arr5; - case arr[5] > arr [6]: - arr6 = arr[6]; - arr[6] = arr[5]; - arr[5] = arr6; +function arrSort() { + for (let j = arr.length - 1; j > 0; j--) { + for (let i = 0; i < j; i++) { + if (arr[i] > arr[i + 1]) { + let temp = arr[i]; + arr[i] = arr[i + 1]; + arr[i + 1] = temp; + }; }; }; return arr; -}; - -console.log(sort(arr)) \ No newline at end of file +} +console.log(arrSort(arr)); \ No newline at end of file From d343ea37f5f7da9ce9a1b81680404de00d82099c Mon Sep 17 00:00:00 2001 From: saloon Date: Mon, 4 Nov 2024 22:48:57 +0300 Subject: [PATCH 3/4] commit --- 11-date-array/app.js | 9 +++++++++ 11-date-array/index.html | 12 ++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 11-date-array/app.js create mode 100644 11-date-array/index.html diff --git a/11-date-array/app.js b/11-date-array/app.js new file mode 100644 index 0000000..cb2e1b6 --- /dev/null +++ b/11-date-array/app.js @@ -0,0 +1,9 @@ +const date = ['10-02-2022', 'тест', '11/12/2023', '00/12/2022', '41/12/2023', '30/02/2024']; + +const validDates = date + .map(date => new Date(date)) + .filter(date => !isNaN(date)) + .map(date => date.toLocaleDateString('ru-RU')) + .sort((a, b) => a - b); + +console.log(validDates); \ No newline at end of file diff --git a/11-date-array/index.html b/11-date-array/index.html new file mode 100644 index 0000000..5143a36 --- /dev/null +++ b/11-date-array/index.html @@ -0,0 +1,12 @@ + + + + + + Document + + + + + + \ No newline at end of file From 38b791c76b66a707cd75866fee99044a49e8908e Mon Sep 17 00:00:00 2001 From: saloon Date: Wed, 6 Nov 2024 02:48:39 +0300 Subject: [PATCH 4/4] commit --- 12-luna/app.js | 27 +++++++++++++++++++++++++++ 12-luna/index.html | 12 ++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 12-luna/app.js create mode 100644 12-luna/index.html diff --git a/12-luna/app.js b/12-luna/app.js new file mode 100644 index 0000000..a1f5b2d --- /dev/null +++ b/12-luna/app.js @@ -0,0 +1,27 @@ +const card = '4561-2612-1234-5464'; + +function correctCardNumber (cardNum) { + console.log(cardNum); + cardNum = cardNum + .trim() + .replaceAll('-', '') + console.log(cardNum) + + if (cardNum.length != 16) { + return false; + } + // Проверка по Алгоритму Луны + let sum = 0; + for (let i = 0; i < cardNum.length; i++) { + let numbers = Number(cardNum[i]); + if ((cardNum.length - i) % 2 === 0) { + numbers *= 2; + if (numbers >= 9) { + numbers -= 9; + } + sum += numbers; + } + } + return sum % 10 === 0; +} +console.log(correctCardNumber(card)); \ No newline at end of file diff --git a/12-luna/index.html b/12-luna/index.html new file mode 100644 index 0000000..9e911f1 --- /dev/null +++ b/12-luna/index.html @@ -0,0 +1,12 @@ + + + + + + + Document + + + + + \ No newline at end of file