// ДЗ: Операции, Типы, Сравнение, Условия и Логические операторы 1. // assign: evaluation // let a = 5; // выражение // let b, c; // b = (a * 5); // выражение // b = (c = (b/2)); // выражение // semicolon: error // first // const arr = [1, 2, 3, 4, 5, 6, 7]; // for (let i = 0 i < arr.length i++) // second // if (a === 6) console.log("a is 6") else console.log(`a is ${a}`); // semicolon: mistake // first // var myFn = function () { // alert("Surprise!"); // } // (function () { // alert("Surprise!2"); // })() // Number: age // let age = prompt("Введите ваш возраст"); // let curYear = new Date().getFullYear(); // if (+age && curYear - +age < curYear) { // if (curYear - +age > 0) { // alert(`Вы родились в ${curYear - +age} году`); // } else { // alert("Столько не живут!"); // } // } else { // alert("Вы ввели некорректное значение"); // } // Number: temperature // let value = confirm( // "Нажмите OK, если хотите перевести Фаренгейты в Цельсии, отмена - если Цельсии в Фаренгейты" // ); // let fahrenheit, celsius; // if (value) { // fahrenheit = +prompt("Введите температуру в Фаренгейтах"); // celsius = (fahrenheit - 32) / 1.8; // alert(`${fahrenheit} Фаренгейтов - ${celsius} Цельсий`); // } else { // celsius = +prompt("Введите температуру в Цельсиях"); // fahrenheit = celsius * 1.8 + 32; // alert(`${celsius} Цельсий - ${fahrenheit} Фаренгейтов`); // } // Number: divide // let fNum = prompt("Введите первое число"); // let sNum = prompt("Введите второе число"); // if (!+fNum || !+sNum || !fNum.trim() || !sNum.trim()) { // alert("Вы ввели некорректно или не ввели число(-а)"); // } else { // fNum = +fNum.trim(); // sNum = +sNum.trim(); // alert( // `Целая часть от деления: ${ // fNum / sNum >= 0 ? Math.floor(fNum / sNum) : Math.ceil(fNum / sNum) // }` // ); // } // Number: odd // let num = prompt("Введите число для проверки"); // if (!+num || !num.trim()) { // alert("Вы ввели некорректное число"); // } else { // if (+num % 2 === 0) { // alert("Введённое число - чётное"); // } else { // alert("Введённое число - нечётное"); // } // } // String: greeting // let name = prompt("Как вас зовут?", "user"); // alert(`Привет, ${name.trim()}!`); // String: lexics // let someText = prompt("Type some text"); // const badWords = ["fuck", "shit", "asshole", "bastard"]; // const textArray = someText.trim().split(" "); // let count = 0; // for (let word of textArray) { // if (badWords.includes(word.trim().toLowerCase())) { // count++; // } // } // if (count > 0) { // alert(`You swore ${count} times`); // } else { // alert("No bad words found"); // } // confirm // let check = confirm("Проверка confirm"); // if (check) { // alert(`При нажатии ОК в confirm - возвращается ${check}`); // } else { // alert(`При нажатии Cancel в confirm - возвращается ${check}`); // } // Boolean && Boolean: if // let born, majority; // if (confirm("Вы родились в Украине?")) { // born = "Вы родились в Украине"; // } else { // born = "Вы родились не в Украине"; // } // if (confirm("Вам есть 18 лет?")) { // majority = "Вам есть 18 лет"; // } else { // majority = "Вам нет 18 лет"; // } // alert(`${born}\n${majority}`); // Array: real // const technique = ["laptop", "television", "computer", "smartphone"]; // const clothes = [ // "hoodie", // "pants", // "cap", // "shoes", // "sneakers", // "sweater", // "costume", // "sweatshirt", // "tshirt", // ]; // const items = [technique, clothes]; // console.log(`My technique: ${items[0]}\nMy clothes: ${items[1]}`); // Array: booleans // let born, majority; // const info = []; // if (confirm("Вы родились в Украине?")) { // born = "Вы родились в Украине"; // info.push(born); // } else { // born = "Вы родились не в Украине"; // info.push(born); // } // if (confirm("Вам есть 18 лет?")) { // majority = "Вам есть 18 лет"; // info.push(majority); // } else { // majority = "Вам нет 18 лет"; // info.push(majority); // } // alert(`${info[0]}\n${info[1]}`); // Array: plus // let fNum = 12; // let sNum = 2; // const array = [fNum, sNum]; // array[2] = fNum + sNum; // console.log(array); // Array: plus string // let fStr = "My"; // let sStr = "name"; // let tStr = "is"; // const arrStr = [fStr, sStr, tStr]; // arrStr[3] = fStr + " " + sStr + " " + tStr; // console.log(arrStr); // Object: real // const residentialArea = { // privateHouses: { // roof: "tile", // wall: "brick", // floor: "parquete", // }, // flats: { // roof: "concrete slab", // wall: "concrete", // floor: "parquete", // }, // }; // Object: change // residentialArea["privateHouses"]["roof"] = "slate"; // residentialArea.flats.wall = "brick"; // console.log(residentialArea); // Comparison if // var age = +prompt("Сколько вам лет?", ""); // if (age > 0 && age < 18) { // alert("школьник"); // } else { // if (age > 18 && age < 30) { // alert("молодеж"); // } else { // if (age > 30 && age < 45) { // alert("зрелость"); // } else { // if (age > 45 && age < 60) { // alert("закат"); // } else { // if (age > 60) { // alert("как пенсия?"); // } else { // alert("то ли киборг, то ли ошибка"); // } // } // } // } // } // var age = +prompt("Сколько вам лет?", ""); // if (age > 0 && age < 18) { // alert("школьник"); // } else if (age < 30) { // alert("молодеж"); // } else if (age < 45) { // alert("зрелость"); // } else if (age < 60) { // alert("закат"); // } else if (age > 60) { // alert("как пенсия?"); // } else { // alert("то ли киборг, то ли ошибка"); // } // Comparison: sizes // const clothes = { // uaus: { // S: 6, // M: 8, // ML: 10, // L: 12, // LXL: 14, // XL: 16, // XLXXL: 18, // XXL: 20, // }, // }; // let choice = prompt( // "Введите uaus, если хотите переводить с украинского размера в американский" // ) // .toLowerCase() // .trim(); // let size; // if (choice === "uaus") { // size = prompt( // "Введите украинский размер: S, M, ML, L, LXL, XL, XLXXL, XXL для перевода в американский" // ) // .toUpperCase() // .trim(); // let ua = clothes?.[choice]?.[size]; // if (ua !== undefined) { // alert(`Украинский ${size} - американский ${clothes[choice][size]}`); // } else { // alert("Вы ввели неправильный размер"); // } // } else { // alert("Вы ввели неправильное значение"); // } // Ternary // confirm("Какой ваш пол? Нажмите ОК, если вы мужчина, Отмена - если женщина") // ? alert("Ваш пол - мужской") // : alert("Ваш пол - женский"); // Синий пояс Number: flats // let floors = Number.parseInt(prompt("Введите количество этажей в доме").trim()); // if (floors && floors > 0) { // let flats = Number.parseInt( // prompt("Введите количество квартир на этаже").trim() // ); // if (flats && flats > 0) { // let num = Number.parseInt( // prompt("Введите номер квартиры, которую хотите найти").trim() // ); // if (num && num > 0) { // let entrance = // num > flats * floors // ? Math.floor(num / (flats * floors) + 1) // : Math.floor(num / (flats * floors)); // let flatFloor = // num > flats * floors // ? Math.ceil((num % (flats * floors)) / flats) // : Math.ceil(num / flats); // alert(`Квартира находится в подъезде №${entrance} на ${flatFloor} этаже`); // } else { // alert("Вы ввели неверный номер квартиры!"); // } // } else { // alert("Вы ввели неверное количество квартир на этаже!"); // } // } else { // alert("Вы ввели неверное количество этажей!"); // } // Задание на Синий пояс и real data в разделе ниже - я выполнил, но когда заливал репозиторий, то намудрил с перенесением файлов и случайно удалил папку со этими заданиями, осталась только версия кода без них, поэтому заливаю в такой версии. Имена переменных могут конфликтовать, лучше расскоментировать всё поэтапно, чтобы такого не было. // ДЗ: Операции, Типы, Сравнение, Условия и Логические операторы 2. // const tasks = [ // "switch: sizes", // "switch: if", // "prompt: or", // "confirm: or this days", // "confirm: if this days", // "triple prompt", // "default: or", // "default: if", // "login and password", // "currency calc", // "currency calc: improved", // "currency calc: two rates", // "currency calc: if", // "scissors", // ]; // console.log(tasks.map((el) => el)); // const task = prompt("Введите задание, которое хотите выполнить."); // switch (task) { // case "switch: sizes": // let sizeUA = prompt( // "Введите украинский размер (XS по умолчанию): S, M, ML, L, LXL, XL, XLXXL, XXL для перевода в американский" // ) // .toUpperCase() // .trim(); // let sizeUS; // switch (sizeUA) { // case "S": // sizeUS = 6; // break; // case "M": // sizeUS = 8; // break; // case "ML": // sizeUS = 10; // break; // case "L": // sizeUS = 12; // break; // case "LXL": // sizeUS = 14; // break; // case "XL": // sizeUS = 16; // break; // case "XLXXL": // sizeUS = 18; // break; // case "XXL": // sizeUS = 20; // break; // default: // sizeUA = "XS"; // sizeUS = 4; // } // alert(`Украинский ${sizeUA} - американский ${sizeUS} размер.`); // break; // case "switch: if": // let color = prompt("Введите цвет", ""); // if (color === "red") { // document.write("