// Сформируйте объект с массивами и массив с объектами с осмысленными данными.
let firstClassPassengers = ["fio_1", "fio_2", "fio_3", "fio_4", "fio_5"];
let businessClassPassengers = ["fio_6", "fio_7", "fio_8", "", "fio_9"];
let economClassPassengers = ["fio_10", "fio_11", "fio_12", "fio_13", "fio_14"];
let plainKhakovRio = {
dateOfFly: '2020-11-08',
firstClass: firstClassPassengers,
businessClass: businessClassPassengers,
economClass: economClassPassengers
}
var age = +prompt("Сколько вам лет?", "");
if (age < 0) { alert("похоже вы еще не родились :))") }
else {
if (age < 18) { alert("школьник или еще меньше") }
else {
if (age < 30) { alert("молодежь") }
else {
if (age < 45) { alert("зрелость") }
else {
if (age < 60) { alert("закат") }
else {
if (age < 100) { alert("как пенсия?") }
else {
alert("то ли киборг, то ли ошибка")
}
}
}
}
}
}
var color = prompt("Введите цвет", "");
switch (color) {
case "red": document.write("
красный
");
break;
case "black": document.write("черный
");
break;
case "blue": document.write("синий
");
break;
case "green": document.write("зеленый
");
break;
default: document.write("Я не понял
");
}
if (color == "red") { document.write("красный
"); }
else {
if (color == "black") { document.write("черный
") }
else {
if (color == "blue") { document.write("синий
") }
else {
if (color == "green") { document.write("зеленый
"); }
else { document.write("Я не понял
"); }
}
}
}
// Исследуйте код, найдите выражения в нём.
// Расставьте скобки так, что бы код не изменил своего поведения(работал так же как и сейчас).
// Объясните как и в каком порядке вычисляются выражения и подвыражения.
var a = 5;
var b, c;
b = (a * 5);
b = (c = (b / 2)); //порядок вычислений: b/2, этот результат заносится в переменную "c", значение "с" заносится в "b"
// ===============================================
// semicolon: error
// Сделайте несколько примеров кода, отсутствие; в которых приводит к синтаксической ошибке
//https://habr.com/ru/post/111563/
var a = 5; b = "asdf"
// ================================================
// semicolon: mistake
// Сделайте несколько примеров кода, наличиe или отсутствие; в которых приводит
// к логической ошибке
// (т.е.код выполняется без синтаксических ошибок, но делает не то, что задумано)
b = "5";
a = 2;
a = 2 + +b; // a = 2; + +b;
for (node = getNode();
node.parent;
node = node.parent);
// ================================================
// Number: age
// С помощью prompt спросить у пользователя его возраст
// и подсчитать год рождения.Год рождения вывести с помощью alert.
alert(`Вы родились в ${new Date().getFullYear() - +(prompt("Сколько лет вам исполнится (исполнилось) в этом году?"))} году, \nконечно, если дата на компьютере установлена правильно.`);
// ================================================
// Number: odd
// С помощью prompt узнайте число, введенное пользователем.
// С помощью if проверьте что число корректно преобразовано из строки.
// В случае ошибки выведите сообщение Выведите четное число или нет, используя if.
var a = prompt("Input a number:");
if (+a || +a == 0) {
if ((a % 2) == 0) { alert("Even") }
else { alert("Odd") }
}
else alert("Not a number");
// ================================================
// Boolean: if
// если вы спрашиваете пол пользователя с помощью confirm,
// то по условию сделайте alert("Вы женщина") и alert("Вы мужчина")
(confirm("Вы мужчина?")) ? alert("Man") : alert("Women");
// ================================================
// Array: booleans
// Создайте массив с переменными из заданий Boolean и Boolean if.
var a = [
confirm("Вы мужчина?"),
confirm("Вам больше 18 лет?"),
confirm("Вы всостоите в браке?"),
confirm("У вас есть дети?")
]; //(4) [true, true, true, true]
// ================================================
// Object: real
// Найдите те или иные реальные объекты и найдите их свойства.
// Например у маркера это цвет, толщина, уровень зарядки(количество краски)
// Создайте объекты с помощью { }.
// В качестве образца посмотрите объект персоны из материала предыдущего занятия
var myExCar = {
name: "VAZ",
model: "2104",
emission: 1992,
color: "red",
status: "Valid",
getAge: function () { return (new Date().getFullYear() - this.emission) }
}
// Поменяйте значения свойств в ваших объектах, используя[] и.и присвоения.
myExCar.status = "Sold";
myExCar.dateOfSold = 2020;
Alert(myExCar.getAge()); //28 лет
// ================================================
var color = prompt("Введите цвет", "");
switch (color) {
case "red": document.write("красный
");
case "black": document.write("черный
");
break;
case "blue": document.write("синий
");
case "green": document.write("зеленый
");
break;
default: document.write("Я не понял
");
}
// Перепишите пример выше, используя if-else
let color = "1";
// debugger;
while (color !== 'stop') {
color = prompt("Введите цвет", "");
if ((color === "black") || (color === "red")) {
if (color === "red") { document.write("красный
"); }
document.write("черный
");
} else {
if ((color === "blue") || (color === "green")) {
if (color === "blue") { document.write("синий
"); }
document.write("зеленый
");
} else { document.write("Я не понял
") }
}
}
// ================================================
let a = {
pole1: 1,
pole2: 2,
pole3: 3,
}
// вывести значения всех полей объекта
Object.keys(a).forEach(function (currentvalue) { console.log(a[currentvalue]) })
// получить массив имен всех полей объекта
b = Object.keys(a)
//вывести имена всех полей
Object.keys(a).forEach(function (currentvalue) { console.log(currentvalue) })
//вывести имена полей объекта и сразу их значения
Object.keys(tablOfSize).forEach(function (currentvalue) { console.log(currentvalue); console.log(tablOfSize[currentvalue]) })
// ======================================================
// двумерный массив
var n = 4, m = 4;
var mas = [];
for (var i = 0; i < m; i++) {
mas[i] = [];
for (var j = 0; j < n; j++) {
mas[i][j] = 0;
}
}
console.log(mas);
// ======================================================
// Подумайте о том, как можно применить объекты к:
// Сделайте перевод перевод из нашей системы размеров в американскую
// или любую на выбор.Используйте prompt, условия сравнения и alert.
let tablOfSize = {
ru: {
countryName: "россия",
size: [40, 42, 44, 46, 48, 50, 52, 54,]
},
eu1: {
countryName: "бельгия германия нидерланды норвегия финляндия швеция",
size: [34, 36, 38, 40, 42, 44, 46, 48,]
},
eu2: {
countryName: "франция швейцария",
size: [36, 38, 40, 42, 44, 46, 48, 50,]
},
italy: {
countryName: "италия",
size: [38, 40, 42, 44, 46, 48, 50, 52,]
},
gb: {
countryName: "великобритания",
size: [8, 10, 12, 14, 16, 18, 20, 22,]
},
usa: {
countryName: "сша",
size: [6, 8, 10, 12, 14, 16, 18, 20,]
},
usa2: {
countryName: "сша",
size: ["S", "M", "", "L", "", "XL", "", "XXL",]
},
}
let inputCountry;
let inputSise;
let targetCountry;
let countOfSize = (-1);
let targetSize = ""
let tempString;
function ucFirst(str) {
if (!str) return str;
if (str === "сша") return "США";
return str[0].toUpperCase() + str.slice(1);
}
while (inputCountry = (prompt("Введите название страны 1:", "Россия")).toLowerCase()) {
inputSise = +(prompt(`Введите размер одежды в этой стране ${inputCountry}:`, "46"));
targetCountry = (prompt("Введите название страны 2:", "Россия")).toLowerCase();
Object.keys(tablOfSize).forEach(function (currentvalue) {
if ((tablOfSize[currentvalue].countryName).includes(inputCountry)) { countOfSize = tablOfSize[currentvalue].size.indexOf(inputSise) };
});
Object.keys(tablOfSize).forEach(function (currentvalue) {
if ((tablOfSize[currentvalue].countryName).includes(targetCountry)) { targetSize += (tablOfSize[currentvalue].size[countOfSize] + ", ") };
});
inputCountry = ucFirst(inputCountry);
targetCountry = ucFirst(targetCountry);
alert(`${inputCountry} - ${inputSise}\n${targetCountry} - ${targetSize.substring(0, targetSize.length - 2)}`);
targetSize = "";
}