Статистика использования. Отключена, пока вы её не разрешите.
Реклама и измерение рекламы. Отключены, пока вы их не разрешите.
О САЙТЕ
Все открытые вкладки сайта
JavaScript · Синтаксис · Начальный уровень
Условные операторы 2
11 задач
Дополнительная практика по условным операторам в JavaScript: проверки строк, длины текста, символов, срезов через методы строк, логических операторов &&/|| и простых сценариев ввода.
Краткое введение в тему и пояснения перед упражнениями (упражнения ниже):
Задачи со строками на этом уровне требуют знать, какие строковые методы использовать для проверок. В JavaScript есть удобный набор для этого.
Доступ к символам через скобочную нотацию. JavaScript не имеет отрицательных индексов, но метод at() имеет:
```javascript
const text = "JavaScript";
console.log(text[0]); // J — первый символ
console.log(text.at(-1)); // t — последний символ
console.log(text.at(-2)); // p — предпоследний
```
Срез использует slice(start, end). Синтаксис похож на Python, но без шага:
```javascript
const text = "Hello world";
console.log(text.slice(0, 4)); // Hell — первые 4 символа
console.log(text.slice(2, 8)); // llo wo
```
Если второй аргумент пропустить — slice идёт до конца строки.
Для проверки подстроки и префикса/суффикса:
```javascript
text.includes("@") // true, когда "@" есть где-то в строке
text.startsWith("Py") // true, когда text начинается с "Py"
text.endsWith("on") // true, когда text заканчивается на "on"
```
Все три чувствительны к регистру. "python".startsWith("Py") — false.
Длина строки — это свойство, а не метод:
```javascript
text.length // количество символов — без скобок
```
Распространённая ошибка — написать text.length() — это выбросит TypeError.
Пользователь вводит строку.
Если длина строки больше 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",
иначе — "Начинается с другой буквы". Можно использовать методы строк.
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]";
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("Введите корректные данные");
}
Пользователь вводит строку.
Если длина строки больше 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("Неподходящая длина");
}
Пользователь вводит строку.
Если строка начинается с "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("Не, я не разговариваю с незнакомыми людьми! Адьос!");
}
No split tab
Настройки cookies
Мы используем необходимые cookies для работы сайта. С вашего разрешения мы также можем сохранять настройки сайта и использовать аналитические и рекламные cookies, чтобы понимать использование сайта и поддерживать развитие проекта.
* Вы всегда можете изменить свой выбор в настройках сайта.
Выберите категории cookies
Настройки аналитики
Можно отключить аналитику использования платформы. Также можно отправить в Google Analytics запрос на удаление данных об использовании этого сайта, связанных с этим браузером.
Учебный workspace
Учитесь, читая, запуская код и решая задачи.
Практикуйте программирование с пояснениями тем, упражнениями, инструментами browser IDE, проверкой regex и тренировкой печати кода в одном workspace.
Открывайте инструменты во вкладках.Упражнения, IDE-инструменты и тренажеры остаются доступными как вкладки сайта.
Переключайтесь без потери контекста.Переходите между пояснениями, кодом и утилитами, сохраняя свое место.
Используйте sidebar как карту.Левые панели содержат навигацию, настройки, файлы, libraries и управление инструментами.
PythonJavaScriptSQLite
Одна IDE, три практичных режима
Python в браузере.Запускайте небольшие скрипты, пробуйте библиотеки и тренируйте API-запросы без установки.
JavaScript для быстрых экспериментов.Проверяйте код для браузера и сравнивайте идеи рядом с учебными материалами.
SQLite для практики с данными.Открывайте обозреватель базы данных, изучайте таблицы, пишите запросы и учитесь SQL локально.
ТемаIDE
Работайте рядом в split tabs
Держите инструкции перед глазами.Откройте упражнение или справочную страницу рядом с IDE, вместо постоянных переключений.
Сравнивайте инструменты во время обучения.Размещайте проверки regex, пояснения и эксперименты с кодом рядом, когда это нужно для задачи.
Закройте split, когда закончите.Workspace вернётся к одной сфокусированной вкладке, а открытые вкладки сайта останутся доступны.
Тренажер слепой печати кода
Или просто текста
Тренажер рассчитан на физическую клавиатуру.Откройте этот раздел на ноутбуке или компьютере с широким экраном. На телефоне тренировка слепой печати не будет корректной.
Скорость: 0 зн/мин
0 слов/мин
Лучшая скорость (60с): 0 зн/мин
0 слов/мин
Ошибки: 0
Общее время: 0.0 с
Для активации режима слепого набора не подсматривайте на физическую клавиатуру.