123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331 |
- //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 включая вложенные массивы (глубокая копия)
- /*{
- let deepCopy = JSON.parse(JSON.stringify(table));
- console.log(deepCopy);
- } */
- //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
- //Сделайте черезстрочную подсветку - задавайте четным строкам один цвет фона, нечетным - другой
- /*{
- 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]
- ];
- let str = "<table>"
- let i = 1
- for (let tr of arr){
- if (i++ % 2 === 0){
- str += '<tr style="background-color: lightgray;">'
- }else{
- str += "<tr>"
- }
- for (let td of tr){
- str += "<td>" + td + "</td>"
- }
- str += "</tr>"
- }
- str += "</table>"
- document.write(str)
- } */
- //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.
- //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);
- }*/
|