123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 |
- // Confirms
- // Сохраните в массив ответы на вопросы, заданные с помощью confirm. Используйте литеральный (декларативный)
- // синтаксис массивов ([....,....,....])
- confirms: {
- let responseArray = [confirm('Do you like travel?'), confirm('Are you live in Ukraine?'),
- confirm('Do you eat fish?')];
- console.log(responseArray);
- }
- // Prompts
- // Сохраните в массив ответы на вопросы, заданные с помощью prompts. Используйте доступ к массиву по индексу
- // и присвоение (arr[....] = ....)
- prompts: {
- let arr = [];
- arr[0] = prompt('What are you doing?');
- arr[1] = prompt('How old are you?');
- arr[2] = prompt('Where are you from?');
- console.log(arr);
- }
- // Item access
- // Попросите пользователя ввести (prompt) индекс в массиве. Выведите значение элемента по этому индексу.
- // Попробуйте так же ввести индекс "length".
- item_access: {
- let arr = ['apple', 'orange', 'banana', 'lemon', 'cherry', 'raspberry'];
- alert(arr[prompt('Enter an index')]);
- }
- // Item change
- // Попросите пользователя ввести (prompt) индекс в массиве, а так же значение для этого индекса. Присвойте
- // в введенный индекс введенное значение
- item_change: {
- let arr = [];
- arr[prompt('Enter an index')] = prompt('Enter value');
- console.log(arr);
- }
- // Multiply table
- // Создайте таблицу умножения 5x5 используя декларативный синтаксис вложенных массивов
- // const arr = [[....], [....], [....], .....]. Числа во вложенных массивах должны быть равны произведению
- // индекса внешнего массива на индекс внутреннего массива: arr[2][3] === 6
- multiply_table: {
- const arr =
- [[0, 0, 0, 0, 0],
- [0, 1, 2, 3, 4],
- [0, 2, 4, 6, 8],
- [0, 3, 6, 9, 12],
- [0, 4, 8, 12, 16]];
- alert(arr[prompt('Enter an outer array index')][prompt('Enter an internal array index')]);
- // Multiply table slice
- // Используя slice создайте массив массивов (другую таблицу/матрицу) из таблицы умножения, в которой не
- // будет нулей
- let arrWithoutZeros = arr.slice(1);
- arrWithoutZeros[0] = arrWithoutZeros[0].slice(1);
- arrWithoutZeros[1] = arrWithoutZeros[1].slice(1);
- arrWithoutZeros[2] = arrWithoutZeros[2].slice(1);
- arrWithoutZeros[3] = arrWithoutZeros[3].slice(1);
- console.log(arrWithoutZeros);
- // Multiply table rest
- // Реализуйте задание Multiply table slice, используя оператор rest при деструктуризации. Используйте
- // вложенную деструктуризацию. После получения четырех обрезанных вложенных массивов - соберите общий
- // массив без нулей
- let [[a], [b, ...other1], [c, ...other2], [d, ...other3], [e, ...other4]] = arr;
- let arrWithoutZerosRest = [other1, other2, other3, other4];
- console.log(arrWithoutZerosRest);
- // Copy
- // Скопируйте массив созданный в задании Multiply table неглубоко
- let copy = [...arr];
- console.log(copy);
- // Deep Copy
- // Скопируйте массив созданный в задании Multiply table включая вложенные массивы (глубокая копия)
- let deepCopy = JSON.parse(JSON.stringify(arr));
- console.log(deepCopy);
- // Flat
- // Соберите все элементы всех вложенных массивов из задания Multiply table в один массив. Его длина должна
- // быть равна 25. Используйте spread-оператор
- let allElement = [...arr[0], ...arr[1], ...arr[2], ...arr[3], ...arr[4]];
- console.log(allElement);
- console.log(allElement.length);
- }
- // IndexOf Word
- // Спросите у пользователя строку из нескольких слов. Спросите у него искомое слово. Выведите, каким по
- // счету является это слово в строке из нескольких слов. Если слово не найдено, выведите сообщение об этом
- // (а не -1)
- index_of_word: {
- const arrayOfStr = prompt('Enter a string').split(' ');
- const searchWord = prompt('Enter the search word');
- alert(arrayOfStr.indexOf(searchWord) == -1 ?
- 'Word not found' : 'Your word is the ' + (arrayOfStr.indexOf(searchWord) + 1) + ' on the string');
- }
- // Reverse
- // Добавьте в массив пять введенных пользователем через prompt элементов(используйте push). Создайте другой
- // массив с этими же элементами в обратном порядке. Для этого извлекайте элементы из первого массива
- // используя pop, добавляйте их во второй используя push
- reverse: {
- let arr = [];
- let firstElement = prompt('Enter something');
- arr.push(firstElement);
- let secondElement = prompt('Enter something');
- arr.push(secondElement);
- let thirdElement = prompt('Enter something');
- arr.push(thirdElement);
- let fourthElement = prompt('Enter something');
- arr.push(fourthElement);
- let fifthElement = prompt('Enter something');
- arr.push(fifthElement);
- let arrReverse = [];
- arr.pop(fifthElement);
- arrReverse.push(fifthElement);
- arr.pop(fourthElement);
- arrReverse.push(fourthElement);
- arr.pop(thirdElement);
- arrReverse.push(thirdElement);
- arr.pop(secondElement);
- arrReverse.push(secondElement);
- arr.pop(firstElement);
- arrReverse.push(firstElement);
- console.log(arrReverse);
- // Reverse 2
- // Переверните второй массив из предыдущего задания еще раз (последовательность будет как в первом массиве),
- // используя shift и unshift
- let arrReverse2 = [];
- arrReverse.shift(fifthElement);
- arrReverse2.unshift(fifthElement);
- arrReverse.shift(fourthElement);
- arrReverse2.unshift(fourthElement);
- arrReverse.shift(thirdElement);
- arrReverse2.unshift(thirdElement);
- arrReverse.shift(secondElement);
- arrReverse2.unshift(secondElement);
- arrReverse.shift(firstElement);
- arrReverse2.unshift(firstElement);
- console.log(arrReverse2);
- }
- // Array Equals
- // Создайте код, в котором будет две переменных с массивами (arr и arr2), которые равны друг другу
- // (arr1 === arr2)
- array_equals: {
- const arr = [1, 2, 3, 4];
- const arr2 = arr;
- console.log(arr === arr2);
- }
- // Destruct
- // Извлеките первую, пятую и девятую букву из строки, введенной пользователем, используя деструктуризацию.
- // Выведите их
- destruct: {
- let [letter1, , , , letter5, , , , letter9] =
- prompt('Enter the string longer then 9 characters').split('');
- alert(letter1 + ' ' + letter5 + ' ' + letter9);
- }
- // Destruct default
- // Извлеките вторую, четвертую и пятую букву из строки, введенной пользователем, используя деструктуризацию.
- // Если в строке таких букв не окажется задайте переменным значение по умолчанию ! (восклицательный знак).
- // Выведите эти переменные
- destruct_default: {
- let [, letter2 = '!', , letter4 = '!', letter5 = '!'] =
- prompt('Enter the string').split('');
- alert(letter2 + ' ' + letter4 + ' ' + letter5);
- }
- // For Alert
- // Есть массив ["John", "Paul", "George", "Ringo"]. Выведите каждое имя отдельным alert(), используя цикл
- // for .... of
- for_alert: {
- let names = ['John', 'Paul', 'George', 'Ringo'];
- for (let name of names) {
- alert(`Hello, ${name}`);
- }
- }
- // Function Capitalize
- // Реализуйте задачу String: capitalize как отдельную функцию:
- function_capitalize: {
- const capitalize = str => {
- let result = str.slice(0, 1).toUpperCase() + str.slice(1).toLowerCase();
- return result //именно этот код обеспечит возврат результата функции
- }
- console.log(capitalize("cANBerRa")); //Canberra
- // Map Capitalize
- // Пусть пользователь вводит строку. Разбейте её по пробелам. Используя map и capitalize создайте массив в
- // котором каждое слово будет с большой буквы. Соберите массив в строку обратно
- let arrOfStr = prompt('Enter the string').split(' ');
- let everyWordIsCapitalized = arrOfStr.map(x => capitalize(x)).join(' ');
- alert(everyWordIsCapitalized);
- }
- // Filter Lexics
- // Пусть пользователь вводит строку. Разбейте её по пробелам. Используя filter верните true если элемент
- // массива не состоит в определенном массиве недопустимых слов. Если же элемент массива - недопустимое
- // слово, функция, переданная в filter должна возвращать false. Соберите массив в строку обратно.
- filter_lexics: {
- let arrOfStr = prompt('Enter the string').split(' ');
- let blockList = ['chocolate', 'coffee', 'cigarettes'];
- let filteredStr = arrOfStr.filter(item => !blockList.includes(item.toLowerCase())).join(' ');
- alert(filteredStr);
- }
- // Beep Lexics
- // Пусть пользователь вводит строку. Разбейте её по пробелам. Используя map и тернарный оператор верните из
- // функции слово без изменений, если оно не состоит в каком-то другом массиве запрещенных слов. Если же
- // слово состоит в этом списке, функция должна вернуть слово BEEP. Соберите массив обратно в строку через
- // пробел. Таким образом вы сможете реализовать замену нескольких запрещенных слов на BEEP.
- beep_lexics: {
- let arrOfStr = prompt('Enter the string').split(' ');
- let blockList = ['chocolate', 'coffee', 'cigarettes'];
- let filteredStr = arrOfStr.map(item => blockList.includes(item.toLowerCase()) ? 'BEEP' : item).join(' ');
- alert(filteredStr);
- }
- // For Brackets Hell Check
- // Пусть пользователь вводит строку с любыми парными скобками в ней, например [ [ ] () {{{[]()}}}]. Найдите
- // место возможной ошибки (непарности) в этой строке. Для этого, каждую открывающую скобку добавляйте в стек.
- // При нахождении закрывающей она должна соответствовать вершине стека. Если она не соответстует, выведите
- // сообщение об ошибке и позицию в строке. Если соответствует - уберите скобку из стека. Если строка ошибок
- // не содержит, порадуйте пользователя.
- for_brackets_hell_check: {
- const line = prompt();
- const bracketsStack = [];
- let i = 0;
- let result = true;
- for (let character of line) {
- //не обращайте внимания на символы, кроме трех видов скобок
- if (character == '(' || character == '[' || character == '{') {
- bracketsStack.push(character);
- }
- const lastOpenedBracket = bracketsStack[bracketsStack.length - 1];
- if (character == ')' && lastOpenedBracket != '('
- || character == ']' && lastOpenedBracket != '['
- || character == '}' && lastOpenedBracket != '{') {
- result = false;
- break; //оператор break прерывает цикл преждевременно
- }
- if (character == ')' || character == ']' || character == '}') {
- bracketsStack.pop(character);
- }
- i++;
- }
- alert(result ? 'VALID' : 'ERROR');
- }
|