index.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <script>
  11. // ДЗ: Массивы
  12. // задание 1 Confirms
  13. {
  14. let day = confirm('День прошёл ОК?');
  15. let mood = confirm('А настроение ОК?');
  16. let eat = confirm('Хочешь кушать?');
  17. console.log([day, mood, eat]);
  18. }
  19. // задание 2 Prompts
  20. {
  21. let day = prompt('День прошёл ОК?');
  22. let mood = prompt('А настроение ОК?');
  23. let eat = prompt('Хочешь кушать?');
  24. let arr = [];
  25. arr[0] = day;
  26. arr[1] = moods;
  27. arr[2] = eat;
  28. console.log(arr);
  29. }
  30. // задание 3 Item access
  31. {
  32. let day = ['ghbdtn', 'kaka', 'puka', 'pika', 'nika'];
  33. let index = prompt('');
  34. alert(day[index]);
  35. //alert(day[day.length])
  36. //undefined
  37. }
  38. // задание 4 Item change
  39. {
  40. let day = ['ghbdtn', 'kaka', 'puka', 'pika', 'nika'];
  41. let index = prompt('введите индекс');
  42. let value = prompt('введите значение');
  43. day[index] = value;
  44. alert(day);
  45. }
  46. // задание 5 Multiply table
  47. {
  48. const arr = [
  49. [0, 0, 0, 0, 0, 0],
  50. [0, 1, 2, 3, 4, 5],
  51. [0, 2, 4, 6, 8, 10],
  52. [0, 3, 6, 9, 12, 15],
  53. [0, 4, 8, 12, 16, 20],
  54. [0, 5, 10, 15, 20, 25],
  55. ];
  56. }
  57. // задание 6 Multiply table slice
  58. {
  59. const arr1 = [
  60. [0, 0, 0, 0, 0, 0],
  61. [0, 1, 2, 3, 4, 5],
  62. [0, 2, 4, 6, 8, 10],
  63. [0, 3, 6, 9, 12, 15],
  64. [0, 4, 8, 12, 16, 20],
  65. [0, 5, 10, 15, 20, 25],
  66. ];
  67. let newArr = [
  68. [arr1[1].slice(1, arr1[1].length)],
  69. [arr1[2].slice(1, arr1[2].length)],
  70. [arr1[3].slice(1, arr1[3].length)],
  71. [arr1[4].slice(1, arr1[4].length)],
  72. [arr1[5].slice(1, arr1[5].length)],
  73. ];
  74. console.log(newArr);
  75. }
  76. // задание 7 IndexOf Word
  77. {
  78. let a = prompt('введите строку из нескольких слов через пробел');
  79. let b = prompt('введите искомое слово');
  80. a.split(' ').indexOf(b);
  81. alert(a.split(' ').indexOf(b) + 1 || 'не найдено');
  82. }
  83. // задание 8 Reverse
  84. {
  85. let arr = [];
  86. arr.push(prompt('Type first word'));
  87. arr.push(prompt('Type second word'));
  88. arr.push(prompt('Type 3 word'));
  89. arr.push(prompt('Type 4 word'));
  90. arr.push(prompt('Type 5 word'));
  91. let newArr = [];
  92. newArr.push(arr.pop(), arr.pop(), arr.pop(), arr.pop(), arr.pop());
  93. console.log(newArr);
  94. }
  95. // задание 9 Reverse 2
  96. {
  97. let arr = [];
  98. arr.push(prompt('Type first word'));
  99. arr.push(prompt('Type second word'));
  100. arr.push(prompt('Type 3 word'));
  101. arr.push(prompt('Type 4 word'));
  102. arr.push(prompt('Type 5 word'));
  103. let newArr = [];
  104. newArr.push(arr.pop(), arr.pop(), arr.pop(), arr.pop(), arr.pop());
  105. let arr1 = [];
  106. arr1.unshift(newArr.shift());
  107. arr1.unshift(newArr.shift());
  108. arr1.unshift(newArr.shift());
  109. arr1.unshift(newArr.shift());
  110. arr1.unshift(newArr.shift());
  111. console.log(arr1);
  112. }
  113. // задание 10 Copy
  114. {
  115. const originalArray = [
  116. [1, 2, 3, 4, 5],
  117. [2, 4, 6, 8, 10],
  118. [3, 6, 9, 12, 15],
  119. [4, 8, 12, 16, 20],
  120. [5, 10, 15, 20, 25],
  121. ];
  122. const copiedArray = [...originalArray];
  123. }
  124. // задание 11 Deep Copy
  125. {
  126. const originalArray = [
  127. [1, 2, 3, 4, 5],
  128. [2, 4, 6, 8, 10],
  129. [3, 6, 9, 12, 15],
  130. [4, 8, 12, 16, 20],
  131. [5, 10, 15, 20, 25],
  132. ];
  133. const copiedArray = JSON.parse(JSON.stringify(originalArray));
  134. }
  135. // задание 12 Array Equals
  136. {
  137. const arr1 = [1, 2, 3];
  138. const arr2 = arr1;
  139. console.log(arr1 === arr2); // true
  140. }
  141. // задание 13 Flat
  142. {
  143. const arr = [
  144. [1, 2, 3, 4, 5],
  145. [2, 4, 6, 8, 10],
  146. [3, 6, 9, 12, 15],
  147. [4, 8, 12, 16, 20],
  148. [5, 10, 15, 20, 25],
  149. ];
  150. const mergedArray = [].concat(...arr);
  151. console.log(mergedArray.length); // 25
  152. }
  153. // задание 14 Destruct
  154. {
  155. const string = 'abcdefghijklmnopqrstuvwxyz';
  156. const [first, , , , fifth, , , , ninth] = string;
  157. console.log(first, fifth, ninth);
  158. }
  159. // задание 15 Destruct default
  160. {
  161. const string = 'abcdefghijklmnopqrstuvwxyz';
  162. const [, second = '!', , fourth = '!', fifth = '!'] = string;
  163. console.log(second, fourth, fifth);
  164. }
  165. // задание 16 Multiply table rest
  166. {
  167. const arr1 = [
  168. [0, 0, 0, 0, 0, 0],
  169. [0, 1, 2, 3, 4, 5],
  170. [0, 2, 4, 6, 8, 10],
  171. [0, 3, 6, 9, 12, 15],
  172. [0, 4, 8, 12, 16, 20],
  173. [0, 5, 10, 15, 20, 25],
  174. ];
  175. const [, ...firstFourRows] = arr1;
  176. const noZerosArray = [...firstFourRows];
  177. console.log(noZerosArray);
  178. }
  179. // задание 17 For Alert
  180. {
  181. const names = ['John', 'Paul', 'George', 'Ringo'];
  182. for (const name of names) {
  183. alert(name);
  184. }
  185. }
  186. // задание 18 For Select Option
  187. {
  188. const currencies = ['USD', 'EUR', 'GBP', 'UAH'];
  189. let str = '<select>';
  190. for (let currency of currencies) {
  191. str += `<option value="${currency}">${currency}</option>`;
  192. }
  193. str += '</select>';
  194. document.write(str);
  195. }
  196. // задание 19 For Table Horizontal
  197. {
  198. const names = ['John', 'Paul', 'George', 'Ringo'];
  199. let str = '<table>';
  200. str += '<tr>';
  201. for (let name of names) {
  202. str += `<td>${name}</td>`;
  203. }
  204. str += '</tr>';
  205. str += '</table>';
  206. document.write(str);
  207. }
  208. // задание 20 For Table Vertical
  209. {
  210. const names = ['Джон', 'Пол', 'Джордж', 'Ринго'];
  211. let str = '<table>';
  212. for (let name of names) {
  213. str += `<tr><td>${name}</td></tr>`;
  214. }
  215. str += '</table>';
  216. document.write(str);
  217. }
  218. // задание 21 For Table Letters
  219. {
  220. const currencies = ['USD', 'EUR', 'GBP', 'UAH'];
  221. let str = '<table>';
  222. for (let currency of currencies) {
  223. str += '<tr>'; // открываем строку таблицы
  224. for (let letter of currency) {
  225. str += `<td>${letter}</td>`; // добавляем ячейку
  226. }
  227. str += '</tr>'; // закрываем строку таблицы
  228. }
  229. str += '</table>';
  230. document.write(str);
  231. }
  232. // задание 22 For Multiply Table
  233. {
  234. const arr = [
  235. [1, 2, 3, 4, 5],
  236. [2, 4, 6, 8, 10],
  237. [3, 6, 9, 12, 15],
  238. [4, 8, 12, 16, 20],
  239. [5, 10, 15, 20, 25],
  240. ];
  241. document.write('<table>');
  242. for (let i = 0; i < arr.length; i++) {
  243. const row = arr[i];
  244. document.write(`<tr style="background-color: ${i % 2 ? '#eee' : '#fff'}">`);
  245. for (const cell of row) {
  246. document.write(`<td>${cell}</td>`);
  247. }
  248. document.write('</tr>');
  249. }
  250. document.write('</table>');
  251. }
  252. // задание 23 Function Capitalize
  253. {
  254. const capitalize = (str) => {
  255. return str[0].toUpperCase() + str.slice(1).toLowerCase();
  256. };
  257. console.log(capitalize('cANBerRa')); // Canberra
  258. }
  259. // задание 24 Map Capitalize
  260. {
  261. const str = prompt('Введите строку:');
  262. const words = str.split(' ');
  263. const capitalizedWords = words.map(capitalize);
  264. const result = capitalizedWords.join(' ');
  265. console.log(result);
  266. }
  267. // задание 25 Filter Lexics
  268. {
  269. const filterWords = (str, bannedWords) => {
  270. const words = str.split(' '); // разбиваем строку на слова
  271. const filteredWords = words.filter((word) => !bannedWords.includes(word)); // фильтруем слова
  272. return filteredWords.join(' '); // собираем массив в строку
  273. };
  274. console.log(filterWords('I want to eat ice cream', ['want', 'to'])); // "I eat ice cream"
  275. }
  276. // задание 26 Beep Lexics
  277. {
  278. const censor = (str, bannedWords) => {
  279. // разбиваем строку на слова
  280. const words = str.split(' ');
  281. // используем map для обработки каждого слова
  282. const censoredWords = words.map((word) => {
  283. // если слово входит в список запрещенных, возвращаем BEEP
  284. if (bannedWords.includes(word)) {
  285. return 'BEEP';
  286. }
  287. // иначе возвращаем слово без изменений
  288. return word;
  289. });
  290. // собираем массив обратно в строку через пробел
  291. return censoredWords.join(' ');
  292. };
  293. // пример использования функции
  294. const str = 'I am going to the store';
  295. const bannedWords = ['going', 'store'];
  296. const censoredString = censor(str, bannedWords);
  297. console.log(censoredString); // "I am BEEP to the BEEP"
  298. }
  299. // задание 27 Reduce HTML
  300. {
  301. const currencies = ['USD', 'EUR', 'GBP', 'UAH'];
  302. let str = '<select>';
  303. str += currencies.reduce((acc, currency) => acc + `<option>${currency}</option>`, '');
  304. str += '</select>';
  305. document.write(str);
  306. }
  307. // задание 28 For Brackets Hell Check
  308. {
  309. const line = prompt();
  310. const bracketsStack = [];
  311. let i = 0;
  312. for (let character of line) {
  313. //если символ является открывающей скобкой, добавьте его в стек
  314. if (character === '(' || character === '[' || character === '{') {
  315. bracketsStack.push(character);
  316. }
  317. //если символ является закрывающей скобкой
  318. else if (character === ')' || character === ']' || character === '}') {
  319. //проверяем, что стек не пустой
  320. if (bracketsStack.length === 0) {
  321. console.log(`Error: mismatched closing bracket at position ${i}`);
  322. break;
  323. }
  324. //проверяем, что текущая закрывающая скобка соответствует вершине стека
  325. let top = bracketsStack.pop();
  326. if (
  327. (character === ')' && top !== '(') ||
  328. (character === ']' && top !== '[') ||
  329. (character === '}' && top !== '{')
  330. ) {
  331. console.log(`Error: mismatched closing bracket at position ${i}`);
  332. break;
  333. }
  334. }
  335. i++;
  336. }
  337. //проверяем, что стек пустой
  338. if (bracketsStack.length > 0) {
  339. console.log(`Error: missing closing bracket for ${bracketsStack[0]} at position ${i}`);
  340. } else {
  341. console.log('No errors found!');
  342. }
  343. }
  344. </script>
  345. </body>
  346. </html>