JavaScript · Синтаксис · Початковий рівень
Умовні оператори 2
Додаткова практика з умовними операторами в JavaScript: перевірка строк, довжини тексту, символів, зрізів через методи строк, логічних операторів &&/|| і простих сценаріїв ввода.
Короткий вступ до теми та пояснення перед вправами (вправи нижче):
Патерни із завдань
#Вправи:
Перший і останній символ.
#Користувач вводить рядок. Якщо довжина рядка більше 10 символів — виведіть перший і останній символ, інакше — виведіть "Рядок занадто короткий".
let text = "JavaScript course";
Рішення
let text = "JavaScript course";
if (text.length > 10) {
console.log(text[0], text[text.length - 1]);
} else {
console.log("Рядок занадто короткий");
}
// або так можна: зберегти символи у змінні
let text = "JavaScript course";
if (text.length > 10) {
let first = text[0];
let last = text[text.length - 1];
console.log(first, last);
} else {
console.log("Рядок занадто короткий");
}
Рядок починається з A.
#Користувач вводить рядок. Якщо рядок починається з літери "A" або "a" — виведіть "Починається з A", інакше — "Починається з іншої літери". Можна використовувати методи рядків.
let text = "Alice";
Рішення
let text = "Alice";
if ((text.startsWith("A")) || (text.startsWith("a"))) {
console.log("Починається з A");
} else {
console.log("Починається з іншої літери");
}
Перші чотири символи.
#Користувач вводить рядок. Якщо довжина рядка більше 8 символів — виведіть перші 4 символи, інакше — виведіть увесь рядок.
let text = "JavaScript";
Рішення
let text = "JavaScript";
if (text.length > 8) {
console.log(text.slice(0, 4));
} else {
console.log(text);
}
// або так можна: спочатку підготувати фрагмент
let text = "JavaScript";
let part;
if (text.length > 8) {
part = text.slice(0, 4);
} else {
part = text;
}
console.log(part);
Емоційне повідомлення.
#Користувач вводить рядок. Якщо довжина рядка більше 6 символів і останній символ — "!" — виведіть "Емоційне повідомлення", інакше — "Звичайне повідомлення".
let text = "JavaScript!";
Рішення
let text = "JavaScript!";
if ((text.length > 6) && (text[text.length - 1] === "!")) {
console.log("Емоційне повідомлення");
} else {
console.log("Звичайне повідомлення");
}
// або так можна через метод endsWith
let text = "Привіт!";
if (text.length > 6 && text.endsWith("!")) {
console.log("Емоційне повідомлення");
} else {
console.log("Звичайне повідомлення");
}
Пошук спецсимволів.
#Користувач вводить рядок. Якщо рядок містить символ "@" або символ "#" — виведіть "Спецсимвол знайдено", інакше — "Спецсимволів немає".
let text = "[email protected]";
Рішення
let text = "[email protected]";
if ((text.includes("@")) || (text.includes("#"))) {
console.log("Спецсимвол знайдено");
} else {
console.log("Спецсимволів немає");
}
// або так можна: перевіряти символи по черзі
let text = "hello@site";
if (text.includes("@")) {
console.log("Спецсимвол знайдено");
} else if (text.includes("#")) {
console.log("Спецсимвол знайдено");
} else {
console.log("Спецсимволів немає");
}
Привітання за ім’ям та прізвищем.
#Користувач вводить ім’я та прізвище. Якщо і ім’я, і прізвище не порожні — виведіть привітання у форматі: "Привіт, Ім’я Прізвище!" (використайте шаблонний рядок (template literal)), інакше — "Введіть коректні дані".
let name = "Alex"; let surname = "Smith";
Рішення
let name = "Alex";
let surname = "Smith";
if ((name) && (surname)) {
console.log(`Привіт, ${name} ${surname}!`);
} else {
console.log("Введіть коректні дані");
}
// або без шаблонного рядка, через склеювання рядків
let name = "Alex";
let surname = "Smith";
if (name && surname) {
console.log("Привіт, " + name + " " + surname + "!");
} else {
console.log("Введіть коректні дані");
}
Фрагмент з 3-го по 8-й символ.
#Користувач вводить рядок. Якщо довжина рядка більша за 10 символів — виведіть фрагмент рядка через slice з 3-го символу (включно) по 8-й символ (включно), інакше — виведіть "Недостатньо символів".
let text = "JavaScript course";
Рішення
let text = "JavaScript course";
if (text.length > 10) {
console.log(text.slice(2, 8));
} else {
console.log("Недостатньо символів");
}
Перший і останній у повідомленні.
#Користувач вводить рядок. Якщо рядок не порожній — виведіть повідомлення: "Перший символ: X, останній символ: Y" (використайте шаблонний рядок (template literal)), інакше — "Порожній рядок".
let text = "JavaScript";
Рішення
let text = "JavaScript";
if (text) {
console.log(`Перший символ: ${text[0]}, останній символ: ${text[text.length - 1]}`);
} else {
console.log("Порожній рядок");
}
// або так можна: заздалегідь зберегти перший і останній символ
let text = "JavaScript";
if (text) {
let first = text[0];
let last = text[text.length - 1];
console.log(`Перший символ: ${first}, останній символ: ${last}`);
} else {
console.log("Порожній рядок");
}
Відповідна довжина рядка.
#Користувач вводить рядок. Якщо довжина рядка від 5 до 10 символів включно — виведіть "Відповідна довжина", інакше — "Невідповідна довжина".
let text = "JavaScript";
Рішення
let text = "JavaScript";
if (5 <= text.length && text.length <= 10) {
console.log("Відповідна довжина");
} else {
console.log("Невідповідна довжина");
}
// другий варіант: те саме з окремою змінною length
let text = "course";
let length = text.length;
if (length >= 5 && length <= 10) {
console.log("Відповідна довжина");
} else {
console.log("Невідповідна довжина");
}
Схоже на JavaScript.
#Користувач вводить рядок. Якщо рядок починається з "Java" або закінчується на "Script" — виведіть "Схоже на JavaScript", інакше — "Не схоже на JavaScript".
let text = "JavaScript";
Рішення
let text = "JavaScript";
if ((text.startsWith("Java")) || (text.endsWith("Script"))) {
console.log("Схоже на JavaScript");
} else {
console.log("Не схоже на JavaScript");
}
Привіт або бувай.
#"Програма Привіт - Бувай" Якщо користувач введе: Привіт, привіт, приВіт або ПРИВІТ - відповісти йому "І тобі привіт!" Якщо користувач введе: Бувай, БуВай, і тд - відповісти йому "Адьйос!".
let text = "Привіт";
Рішення
let text = "Привіт";
if (text.toLowerCase() === "привіт") {
console.log("І тобі привіт!");
} else if (text.toLowerCase() === "бувай") {
console.log("Адьйос!");
} else {
console.log("Нє, я не розмовляю з незнайомими людьми! Адьйос!");
}