//1. Confirms + // Сохраните в массив ответы на вопросы, заданные с помощью confirm. Используйте литеральный (декларативный) // синтаксис массивов ([....,....,....]) /*{ let arr = [confirm("Ты женщина?"), confirm("Тебе есть 18 лет"), confirm("Ты работаешь?")]; console.log(arr); }*/ //2. Prompts + // Сохраните в массив ответы на вопросы, заданные с помощью prompts. Используйте доступ к массиву по индексу // и присвоение (arr[....] = ....) /*{ let array = []; array[0] = prompt("Введите ваше имя"); array[1] = prompt("Введите вашу фамилию"); array[2] = prompt("Введите ваш возраст"); } */ //3. Item access + //Попросите пользователя ввести (prompt) индекс в массиве. Выведите значение элемента по этому индексу. Попробуйте так // же ввести индекс "length". /*{ let names = ["Маша", "Катя", "Наташа", "Оля", "Лена"]; let index = prompt("Введите индекс для выбора имени от 0 до 4"); alert(names[index]); alert(names.length) }*/ //4. Item change + // Попросите пользователя ввести (prompt) индекс в массиве, а так же значение для этого индекса. Присвойте в введенный // индекс введенное значение /*{ let names = ["Маша", "Катя"]; let index = prompt("Введите число(индекс) для добавления в масив от 0 до 10"); let name = prompt("Введите имя"); names[index]=name; } */ //5. Multiply table + // Создайте таблицу умножения 5x5 используя декларативный синтаксис вложенных массивов const arr = [[....], [....], [....], .....]. // Числа во вложенных массивах должны быть равны произведению индекса внешнего массива на индекс внутреннего массива: arr[2][3] === 6 /*{ 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]]; } */ //6. Multiply table slice + //Используя slice создайте массив массивов (другую таблицу/матрицу) из таблицы умножения, в которой не будет нулей /*{ 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]]; const newArr = arr.slice(1,5); let a = newArr[0].shift(); let b = newArr[1].shift(); let c = newArr[2].shift(); let d = newArr[3].shift(); }*/ //7. IndexOf Word + //Спросите у пользователя строку из нескольких слов. Спросите у него искомое слово. // Выведите, каким по счету является это слово в строке из нескольких слов. Если слово не найдено, выведите сообщение об этом (а не -1) /*{ let ask = prompt("Введите несколько слов"); let word = ask.split(' '); alert(`Искомое слово находится под индексом ${(word.indexOf('слово'))}`) }*/ //8. Reverse + //Добавьте в массив пять введенных пользователем через prompt элементов(используйте push). // Создайте другой массив с этими же элементами в обратном порядке. Для этого извлекайте элементы из первого массива // используя pop, добавляйте их во второй используя push /*{ let name = prompt("Введите ваше имя"); let secondName = prompt("Введите вашу фамилию"); let patronymic = prompt("Введите ваше отчество"); let town = prompt("Введите город где вы живете"); let color = prompt("Введите ваш любимый цвет"); const profile = []; profile.push(name, secondName, patronymic, town, color); const profileTwo = []; color = profile.pop(); town = profile.pop(); patronymic = profile.pop(); secondName = profile.pop(); name = profile.pop(); profileTwo.push(name, secondName, patronymic, town,color); console.log(profileTwo); } */ //9. Reverse 2 + //Переверните второй массив из предыдущего задания еще раз (последовательность будет как в первом массиве), используя // shift и unshift /*{ let color = prompt("Введите ваш любимый цвет"); let town = prompt("Введите город где вы живете"); let patronymic = prompt("Введите ваше отчество"); let secondName = prompt("Введите вашу фамилию"); let name = prompt("Введите ваше имя"); const profile = []; profile.push(color, town, patronymic, secondName, name); color = profile.shift(); town = profile.shift(); patronymic = profile.shift(); secondName = profile.shift(); name = profile.shift(); const profileTwo = []; profileTwo.unshift(name, secondName, patronymic, town, color) console.log(profileTwo) } */ //10. Copy + //Скопируйте массив созданный в задании 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]]; const copy = [...arr]; console.log(copy); } */ //11. Deep Copy + //Скопируйте массив созданный в задании 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]]; const newArr = arr.slice(); } */ //12. Array Equals + // Создайте код, в котором будет две переменных с массивами (arr и arr2), которые равны друг другу (arr1 === arr2) /*{ const arr = ["Маша","Катя","Наташа"]; const arr2 = arr; console.log(arr === arr2) }*/ //13. Flat + // Соберите все элементы всех вложенных массивов из задания Multiply table в один массив. // Его длина должна быть равна 25. // Используйте spread-оператор /*{ 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]]; const newArr = [...arr[0], ...arr[1], ...arr[2], ...arr[3], ...arr[4]] console.log(newArr) } */ //14. Destruct + // Извлеките первую, пятую и девятую букву из строки, введенной пользователем, используя деструктуризацию. Выведите их /*{ let word = [prompt("Введите любое слово")]; let [[a,,,,b,,,,c]] = word; console.log(word); alert(`Первая буква - ${a}, пятая буква - ${b}, девятая буква - ${c}`); }*/ //15. Destruct default + // Извлеките вторую, четвертую и пятую букву из строки, введенной пользователем, используя деструктуризацию. // Если в строке таких букв не окажется задайте переменным значение по умолчанию ! (восклицательный знак). /*{ let word = [prompt("Введите любое слово")]; let [[,a,,b,c]] = word; if (a === undefined) { a = "!"; } else if (b === undefined && c === undefined) { b = "!"; c = "!"; } else if (c === undefined) { c = "!";} alert(`Вторая буква - ${a}, четвертая буква - ${b}, пятая буква - ${c}` ) } */ //16. Multiply table rest + // Реализуйте задание Multiply table slice, используя оператор rest при деструктуризации. Используйте вложенную деструктуризацию. // После получения четырех обрезанных вложенных массивов - соберите общий массив без нулей /*{ 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]]; const [[firstArr], [b,...secondArr], [c, ...thirdArr], [d, ...fourArr], [e, ...fiveArr]] = arr; const arrNew = [...secondArr, ...thirdArr, ...fourArr, ...fiveArr]; console.log(arrNew) }*/ //17. For Alert + // Есть массив ["John", "Paul", "George", "Ringo"]. Выведите каждое имя отдельным alert(), используя цикл for .... of /*{ const names = ["John", "Paul", "George", "Ringo"] for (let name of names){ alert(name) } }*/ // 18. For Select Option + // Используя заготовку выше, создайте выпадающий список с валютами. // Элементы выпадающего списка создаются с помощью тэга <option> /* { const currencies = ["USD", "EUR", "GBP", "UAH"] let str = "<select>"; for (let currency of currencies){ str += "<option>"+currency + "</option>"; } str += "</select>" document.write(str); } */ //19. Horizontal + // Аналогично, добейтесь вывода имен в ячейки таблицы по горизонтали (одна строка с четырьмя ячейками) /*{ const names = ["John", "Paul", "George", "Ringo"] let str = "<table width='50%' border='2px' bgcolor='yellow'>" for (let name of names){ str +="<td>"+ name +"</td>" } document.write(str) }*/ //.21 For Table Vertical + //Аналогично, добейтесь вывода имен в ячейки таблицы по вертикали(одна колонка с четырьмя строками, // в каждой строке - одна ячейка) /*{ const names = ["John", "Paul", "George", "Ringo"] let str = "<table width='20%' bgcolor='yellow' border='1'>"; for (let name of names) { str += "<tr>" + "</tr>"; str += "<td>" + name + "</td>" } str+= "</table>"; document.write(str); }*/ //22. For Table Letters + //Используя заготовку выше, создайте таблицу 3x4. В каждой строке по три ячейки с буквами, четыре строки, так как 4 валюты в массиве. /*{ const currencies = ["USD", "EUR", "GBP", "UAH"]; let str = "<table border='1'>" for (let currency of currencies){ str += "<tr>" + "</tr>" console.log(currency) for (let letter of currency){ str += "<td>" + letter + "</td>" console.log(letter) } } str+= "</table>" document.write(str) }*/ //23. For Multiply Table +- подсветка // Выведите таблицу умножения 5x5 из задания Multiply table в таблицу, используя вложенные for .... of и document.write //Сделайте черезстрочную подсветку - задавайте четным строкам один цвет фона, нечетным - другой /*{ let cols = [0,1,2,3,4]; let rows = [0,1,2,3,4]; document.write('<table border=1, cellpadding=0, cellspacing=0, width="50%">'); for (i = 0; i < cols.length; i++) { document.write("<tr>"); for (k = 0; k < rows.length; k++) { document.write("<td>"+(k*i)+"</td>"); } document.write("</tr>"); } document.write("</table>"); } */ //24. Function Capitalize + // Реализуйте задачу String: capitalize как отдельную функцию: /*{ const capitalize = str => { let result = str[0].toUpperCase() + str.slice(1).toLowerCase(); return result } console.log(capitalize("cANBerRa")) //Canberra } */ //25. Map Capitalize + // Пусть пользователь вводит строку. Разбейте её по пробелам. Используя map и capitalize создайте массив в котором // каждое слово будет с большой буквы. Соберите массив в строку обратно /*{ const ask = prompt("Введите несколько слов"); const arr = ask.split(` `) const capitalize = arr.map(arr => arr[0].toUpperCase() + arr.substring(1)) console.log(capitalize); console.log(capitalize.join(' ')) }*/ //26. Filter Lexics // Пусть пользователь вводит строку. Разбейте её по пробелам. Используя filter верните true если элемент массива не // состоит в определенном массиве недопустимых слов. Если же элемент массива - недопустимое слово, функция, переданная // в filter должна возвращать false. Соберите массив в строку обратно. блин какая сегодня //27. Beep Lexics // Пусть пользователь вводит строку. Разбейте её по пробелам. Используя map и тернарный оператор верните из функции // слово без изменений, если оно не состоит в каком-то другом массиве запрещенных слов. Если же слово состоит в этом // списке, функция должна вернуть слово BEEP. Соберите массив обратно в строку через пробел. Таким образом вы сможете // реализовать замену нескольких запрещенных слов на BEEP. /*{ const ask = prompt("Введите несколько слов"); const arr = ask.split(` `); }*/ //28. Reduce HTML +- // Реализуйте задачу For Select Option используя reduce /*{ const currencies = ["USD", "EUR", "GBP", "UAH"]; let str = "<select>"; str += currencies.reduce( (a,b) => a + "<option>"+ b + "</option>", ""); str += "</select>"; document.write(str); }*/