123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>Document</title>
- </head>
- <body>
- <script>
- // ДЗ: Массивы
- // задание 1 Confirms
- {
- let day = confirm('День прошёл ОК?');
- let mood = confirm('А настроение ОК?');
- let eat = confirm('Хочешь кушать?');
- console.log([day, mood, eat]);
- }
- // задание 2 Prompts
- {
- let day = prompt('День прошёл ОК?');
- let mood = prompt('А настроение ОК?');
- let eat = prompt('Хочешь кушать?');
- let arr = [];
- arr[0] = day;
- arr[1] = moods;
- arr[2] = eat;
- console.log(arr);
- }
- // задание 3 Item access
- {
- let day = ['ghbdtn', 'kaka', 'puka', 'pika', 'nika'];
- let index = prompt('');
- alert(day[index]);
- //alert(day[day.length])
- //undefined
- }
- // задание 4 Item change
- {
- let day = ['ghbdtn', 'kaka', 'puka', 'pika', 'nika'];
- let index = prompt('введите индекс');
- let value = prompt('введите значение');
- day[index] = value;
- alert(day);
- }
- // задание 5 Multiply table
- {
- const arr = [
- [0, 0, 0, 0, 0, 0],
- [0, 1, 2, 3, 4, 5],
- [0, 2, 4, 6, 8, 10],
- [0, 3, 6, 9, 12, 15],
- [0, 4, 8, 12, 16, 20],
- [0, 5, 10, 15, 20, 25],
- ];
- }
- // задание 6 Multiply table slice
- {
- const arr1 = [
- [0, 0, 0, 0, 0, 0],
- [0, 1, 2, 3, 4, 5],
- [0, 2, 4, 6, 8, 10],
- [0, 3, 6, 9, 12, 15],
- [0, 4, 8, 12, 16, 20],
- [0, 5, 10, 15, 20, 25],
- ];
- let newArr = [
- [arr1[1].slice(1, arr1[1].length)],
- [arr1[2].slice(1, arr1[2].length)],
- [arr1[3].slice(1, arr1[3].length)],
- [arr1[4].slice(1, arr1[4].length)],
- [arr1[5].slice(1, arr1[5].length)],
- ];
- console.log(newArr);
- }
- // задание 7 IndexOf Word
- {
- let a = prompt('введите строку из нескольких слов через пробел');
- let b = prompt('введите искомое слово');
- a.split(' ').indexOf(b);
- alert(a.split(' ').indexOf(b) + 1 || 'не найдено');
- }
- // задание 8 Reverse
- {
- let arr = [];
- arr.push(prompt('Type first word'));
- arr.push(prompt('Type second word'));
- arr.push(prompt('Type 3 word'));
- arr.push(prompt('Type 4 word'));
- arr.push(prompt('Type 5 word'));
- let newArr = [];
- newArr.push(arr.pop(), arr.pop(), arr.pop(), arr.pop(), arr.pop());
- console.log(newArr);
- }
- // задание 9 Reverse 2
- {
- let arr = [];
- arr.push(prompt('Type first word'));
- arr.push(prompt('Type second word'));
- arr.push(prompt('Type 3 word'));
- arr.push(prompt('Type 4 word'));
- arr.push(prompt('Type 5 word'));
- let newArr = [];
- newArr.push(arr.pop(), arr.pop(), arr.pop(), arr.pop(), arr.pop());
- let arr1 = [];
- arr1.unshift(newArr.shift());
- arr1.unshift(newArr.shift());
- arr1.unshift(newArr.shift());
- arr1.unshift(newArr.shift());
- arr1.unshift(newArr.shift());
- console.log(arr1);
- }
- // задание 10 Copy
- {
- const originalArray = [
- [1, 2, 3, 4, 5],
- [2, 4, 6, 8, 10],
- [3, 6, 9, 12, 15],
- [4, 8, 12, 16, 20],
- [5, 10, 15, 20, 25],
- ];
- const copiedArray = [...originalArray];
- }
- // задание 11 Deep Copy
- {
- const originalArray = [
- [1, 2, 3, 4, 5],
- [2, 4, 6, 8, 10],
- [3, 6, 9, 12, 15],
- [4, 8, 12, 16, 20],
- [5, 10, 15, 20, 25],
- ];
- const copiedArray = JSON.parse(JSON.stringify(originalArray));
- }
- // задание 12 Array Equals
- {
- const arr1 = [1, 2, 3];
- const arr2 = arr1;
- console.log(arr1 === arr2); // true
- }
- // задание 13 Flat
- {
- const arr = [
- [1, 2, 3, 4, 5],
- [2, 4, 6, 8, 10],
- [3, 6, 9, 12, 15],
- [4, 8, 12, 16, 20],
- [5, 10, 15, 20, 25],
- ];
- const mergedArray = [].concat(...arr);
- console.log(mergedArray.length); // 25
- }
- // задание 14 Destruct
- {
- const string = 'abcdefghijklmnopqrstuvwxyz';
- const [first, , , , fifth, , , , ninth] = string;
- console.log(first, fifth, ninth);
- }
- // задание 15 Destruct default
- {
- const string = 'abcdefghijklmnopqrstuvwxyz';
- const [, second = '!', , fourth = '!', fifth = '!'] = string;
- console.log(second, fourth, fifth);
- }
- // задание 16 Multiply table rest
- {
- const arr1 = [
- [0, 0, 0, 0, 0, 0],
- [0, 1, 2, 3, 4, 5],
- [0, 2, 4, 6, 8, 10],
- [0, 3, 6, 9, 12, 15],
- [0, 4, 8, 12, 16, 20],
- [0, 5, 10, 15, 20, 25],
- ];
- const [, ...firstFourRows] = arr1;
- const noZerosArray = [...firstFourRows];
- console.log(noZerosArray);
- }
- // задание 17 For Alert
- {
- const names = ['John', 'Paul', 'George', 'Ringo'];
- for (const name of names) {
- alert(name);
- }
- }
- // задание 18 For Select Option
- {
- const currencies = ['USD', 'EUR', 'GBP', 'UAH'];
- let str = '<select>';
- for (let currency of currencies) {
- str += `<option value="${currency}">${currency}</option>`;
- }
- str += '</select>';
- document.write(str);
- }
- // задание 19 For Table Horizontal
- {
- const names = ['John', 'Paul', 'George', 'Ringo'];
- let str = '<table>';
- str += '<tr>';
- for (let name of names) {
- str += `<td>${name}</td>`;
- }
- str += '</tr>';
- str += '</table>';
- document.write(str);
- }
- // задание 20 For Table Vertical
- {
- const names = ['Джон', 'Пол', 'Джордж', 'Ринго'];
- let str = '<table>';
- for (let name of names) {
- str += `<tr><td>${name}</td></tr>`;
- }
- str += '</table>';
- document.write(str);
- }
- // задание 21 For Table Letters
- {
- const currencies = ['USD', 'EUR', 'GBP', 'UAH'];
- let str = '<table>';
- for (let currency of currencies) {
- str += '<tr>'; // открываем строку таблицы
- for (let letter of currency) {
- str += `<td>${letter}</td>`; // добавляем ячейку
- }
- str += '</tr>'; // закрываем строку таблицы
- }
- str += '</table>';
- document.write(str);
- }
- // задание 22 For Multiply Table
- {
- const arr = [
- [1, 2, 3, 4, 5],
- [2, 4, 6, 8, 10],
- [3, 6, 9, 12, 15],
- [4, 8, 12, 16, 20],
- [5, 10, 15, 20, 25],
- ];
- document.write('<table>');
- for (let i = 0; i < arr.length; i++) {
- const row = arr[i];
- document.write(`<tr style="background-color: ${i % 2 ? '#eee' : '#fff'}">`);
- for (const cell of row) {
- document.write(`<td>${cell}</td>`);
- }
- document.write('</tr>');
- }
- document.write('</table>');
- }
- // задание 23 Function Capitalize
- {
- const capitalize = (str) => {
- return str[0].toUpperCase() + str.slice(1).toLowerCase();
- };
- console.log(capitalize('cANBerRa')); // Canberra
- }
- // задание 24 Map Capitalize
- {
- const str = prompt('Введите строку:');
- const words = str.split(' ');
- const capitalizedWords = words.map(capitalize);
- const result = capitalizedWords.join(' ');
- console.log(result);
- }
- // задание 25 Filter Lexics
- {
- const filterWords = (str, bannedWords) => {
- const words = str.split(' '); // разбиваем строку на слова
- const filteredWords = words.filter((word) => !bannedWords.includes(word)); // фильтруем слова
- return filteredWords.join(' '); // собираем массив в строку
- };
- console.log(filterWords('I want to eat ice cream', ['want', 'to'])); // "I eat ice cream"
- }
- // задание 26 Beep Lexics
- {
- const censor = (str, bannedWords) => {
- // разбиваем строку на слова
- const words = str.split(' ');
- // используем map для обработки каждого слова
- const censoredWords = words.map((word) => {
- // если слово входит в список запрещенных, возвращаем BEEP
- if (bannedWords.includes(word)) {
- return 'BEEP';
- }
- // иначе возвращаем слово без изменений
- return word;
- });
- // собираем массив обратно в строку через пробел
- return censoredWords.join(' ');
- };
- // пример использования функции
- const str = 'I am going to the store';
- const bannedWords = ['going', 'store'];
- const censoredString = censor(str, bannedWords);
- console.log(censoredString); // "I am BEEP to the BEEP"
- }
- // задание 27 Reduce HTML
- {
- const currencies = ['USD', 'EUR', 'GBP', 'UAH'];
- let str = '<select>';
- str += currencies.reduce((acc, currency) => acc + `<option>${currency}</option>`, '');
- str += '</select>';
- document.write(str);
- }
- // задание 28 For Brackets Hell Check
- {
- const line = prompt();
- const bracketsStack = [];
- let i = 0;
- for (let character of line) {
- //если символ является открывающей скобкой, добавьте его в стек
- if (character === '(' || character === '[' || character === '{') {
- bracketsStack.push(character);
- }
- //если символ является закрывающей скобкой
- else if (character === ')' || character === ']' || character === '}') {
- //проверяем, что стек не пустой
- if (bracketsStack.length === 0) {
- console.log(`Error: mismatched closing bracket at position ${i}`);
- break;
- }
- //проверяем, что текущая закрывающая скобка соответствует вершине стека
- let top = bracketsStack.pop();
- if (
- (character === ')' && top !== '(') ||
- (character === ']' && top !== '[') ||
- (character === '}' && top !== '{')
- ) {
- console.log(`Error: mismatched closing bracket at position ${i}`);
- break;
- }
- }
- i++;
- }
- //проверяем, что стек пустой
- if (bracketsStack.length > 0) {
- console.log(`Error: missing closing bracket for ${bracketsStack[0]} at position ${i}`);
- } else {
- console.log('No errors found!');
- }
- }
- </script>
- </body>
- </html>
|