├── JavaScriptForBeginners.js
├── README.md
├── cards
├── app.js
├── index.html
└── stiles.css
├── js_hw_1.js
├── js_hw_2.js
├── js_hw_3.html
├── js_hw_3.js
└── js_hw_4.js
/JavaScriptForBeginners.js:
--------------------------------------------------------------------------------
1 | // 1. В указанное место напишите код, который поместит значение из переменной a в переменную x
2 | function testA(a) {
3 | let x = "";
4 | x = a;
5 | return x;
6 | }
7 |
8 | // 2. Вписать в указанное место код, который будет присваивать переменной "х" значение суммы переменных "a" и "b"
9 | function testSum(a, b) {
10 | var x;
11 | x=a+b
12 | return x;
13 | }
14 |
15 | // 3. Вписать в указанное место код, который будет присваивать переменной "х" удвоенное значение остатка от деления произведения переменных "a" и "b" на их сумму.
16 | function testOperation(a, b) {
17 | var x;
18 | x = (a * b) % (a + b) * 2;
19 | return x;
20 | }
21 |
22 | // 4. Вписать в указанное место код, который будет присваивать переменной "х" значение суммы переменных "a" и "b" в случае если a > b или их произведение в остальных случаях.
23 | function testIf(a, b) {
24 | var x;
25 | x = a > b ? a + b : a * b;
26 | return x;
27 | }
28 |
29 | // 5. Вписать в указанное место код, который будет присваивать переменной "х" значение суммы переменных "a" и "b" - в
30 | // случае если a < b, разность "a" и "b" - в случае если a > b, и их произведение в остальных случаях.
31 | function testIf(a, b) {
32 | var x;
33 | x = a < b ? a + b : (a > b ? a - b : a * b);
34 | return x;
35 | }
36 |
37 | // 6. Вписать в указанное место код, который будет присваивать переменной "х" название цифры, переданной в переменную "а". Цифра в
38 | // переменную "а" будет передана случайным образом и может оказаться в диапазоне от 0 до 9 включительно.
39 | // Варианты решения
40 | // 6.1. String constant
41 | testCase = a => {
42 | const words = 'Ноль Один Два Три Четыре Пять Шесть Семь Восемь Девять';
43 | return words.split(' ')[a];
44 | };
45 |
46 | // 6.2. Array constant
47 | testCase = a => {
48 | const words = ["Ноль", "Один", "Два", "Три", "Четыре", "Пять", "Шесть", "Семь", "Восемь", "Девять"];
49 | return words[a];
50 | };
51 |
52 | // 6.3. Object constant
53 | testCase = a => {
54 | const words = {0: "Ноль", 1: "Один", 2: "Два", 3: "Три", 4: "Четыре",
55 | 5: "Пять", 6: "Шесть", 7: "Семь", 8: "Восемь", 9: "Девять"};
56 | return words[a];
57 | };
58 |
59 | // 7. Вычислить факториал для числа, передаваемого в нашу функцию и вывести его с помощью команды return.
60 | function testFactorial(a) {
61 | var x = 1;
62 | for (var i = 1; i <= a; i++) {
63 | x = x * i;
64 | }
65 | return x;
66 | }
67 |
68 | // 8. Вычислить сумму всех четных чисел, встречающихся в ряду от 1 до числа.
69 | function testWhile(a) {
70 | var x=0;
71 | var i = 1;
72 | while (i <= a) {
73 | if (i % 2 == 0) {
74 | x += i;
75 | }
76 | i++;
77 | }
78 | return x;
79 | }
80 |
81 | // 9. Напишите рекурсивную функцию, которая возвращает строку чисел от 1 до n, разделенных пробелом.
82 | function my_function(n) {
83 | return n <= 1? 1 : my_function(n - 1) + ' ' + n;
84 | }
85 |
86 | // 10. В функцию testStr передаются две строки. Нужно вернуть из функции суммарную длину.
87 | function testStr(a, b) {
88 | return(a.length + b.length);
89 | }
90 |
91 | // 11. Вернуть из функции символ строки, порядковый номер которого указан в переданном в функцию числе.
92 | function testStr(str, n){
93 | return(str.charAt(n-1))
94 | }
95 |
96 | // 12. Вернуть из функции строку, которая будет включать в себя обе этих строки, преобразовав в первой строке все буквы в заглавные, а во второй - в строчные.
97 | function testStr(a, b) {
98 | return(a.toUpperCase().concat(b.toLowerCase()))
99 | }
100 |
101 | // 13. Вернуть индекс позиции, с которой начинается вхождение второй строки в первую.
102 | function testStr(a, b) {
103 | return a.indexOf(b);
104 | }
105 |
106 | // 14. Сосчитать сумму всех элементов обоих массивов и возвратить ее из функции.
107 | function testArray(a, b) {
108 | let sum = 0;
109 | for(let x of a) sum += x;
110 | for(let x of b) sum += x;
111 | return sum;
112 | }
113 |
114 | // 15. Составить из символов этих строк один массив, затем добавить первым элементом массива текстовое значение "Иванов", и вернуть из функции все элементы в обратном порядке, преобразовав в строку.
115 | function testArray(a, b) {
116 | const total = a.concat(b);
117 | return [...total].reverse().join('') + "Иванов";
118 | }
119 |
120 | // 16. Вам нужно превратить строки в даты, сравнить их. Для той, что больше получить день недели и вернуть его из функции.
121 | function testDateTime(a, b) {
122 | let date1 = new Date(a);
123 | let date2 = new Date(b);
124 | let daysArr = ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"];
125 | if (date1 > date2)
126 | return daysArr[date1.getDay()];
127 | else
128 | return daysArr[date2.getDay()];
129 | }
130 |
131 | // 17. В функцию передается угол в градусах. Нужно вернуть из функции значение его синуса.
132 | function testMath(a) {
133 | return Math.sin((a*Math.PI)/180)
134 | }
135 |
136 | // 18. Вычислить и вернуть из функции площадь треугольника. Передаваемые в функцию аргументы "a" и "b" - это длины сторон, а "c" - это угол между ними в градусах.
137 | function testMath(a, b, c) {
138 | c = ((c*Math.PI)/180)
139 | return (1/2*a*b*Math.sin(c))
140 | }
141 |
142 | // 19. Вычислить результат деления большего из этих чисел на меньшее, и округлив до ближайшего меньшего целого вернуть из функции.
143 | function testMath(a, b, c, d) {
144 | m = Math.max(a, b, c, d)
145 | n = Math.min(a, b, c, d)
146 | return Math.floor(m/n)
147 | }
148 |
149 | // 20. В функцию передаются два параметра: целочисленная переменная ("а") и некоторая функция ("func"). Необходимо запустить функцию "func", с переменной "а" в качестве аргумента. нужно возвратить имя возникающей ошибки.
150 | function testErrorFunc(a, func) {
151 | try {
152 | func(a)
153 | }
154 | catch (e) {
155 | return e.name;
156 | }
157 | }
158 |
159 | // 21. В этом задании в нашу функцию testRegExp первым параметром передается случайная строка(переменная s), а вторым - случайная подстрока(переменная sub_s), которую нужно использовать
160 | // в качестве шаблона регулярного выражения. Вам нужно вернуть из функции строку, в которой будут перечислены через запятую все совпадения шаблона с первой строкой.
161 | function testRegExp(s, sub_s) {
162 | var m = new RegExp(sub_s, 'g')
163 | x = s.match(m);
164 | return x.join();
165 | }
166 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | In this repo I publish the code created during the study of practice JavaScript.
2 |
3 | `js_hw_1.js`, `js_hw_2.js`, `js_hw_3.html`, `js_hw_3.js`, `js_hw_4.js` - домашняя работа с курса Вадима Ксендзова.
4 |
5 | `JavaScriptForBeginners.js` - практика с сайта Stepik, курс [JavaScript для начинающих](https://stepik.org/course/2223/promo#toc).
6 |
--------------------------------------------------------------------------------
/cards/app.js:
--------------------------------------------------------------------------------
1 | const slides = document.querySelectorAll('.slide')
2 |
3 | for (const slide of slides) {
4 | slide.addEventListener('click', () => {
5 | clearActiveClasses()
6 | slide.classList.add('active')
7 | })
8 | }
9 |
10 | function clearActiveClasses() {
11 | slides.forEach((slide) => {
12 | slide.classList.remove('active')
13 | })
14 | }
15 |
--------------------------------------------------------------------------------
/cards/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |