В данном уроке мы с вами разберем некоторые
примеры использования конструкции if-else
.
Четверть часа
Пусть у нас есть переменная min
, в
которой хранится количество минут от 1
до 60
:
let min = 10;
Давайте определим, в какую четверть часа попадает указанное количество минут:
let min = 10;
if (min >= 0 && min <= 14) {
console.log('1 четверть');
}
if (min >= 15 && min <= 29) {
console.log('2 четверть');
}
if (min >= 30 && min <= 44) {
console.log('3 четверть');
}
if (min >= 45 && min <= 59) {
console.log('4 четверть');
}
Решите аналогичную задачу, только определите в какую треть часа попадает указанное количество минут.
Длина строк и массивов
Пусть у нас есть переменная str
, в
которой хранится некоторая произвольная строка:
let str = '12345';
Давайте напишем условие, которое выведет сообщение на экран, если длина строки равна или больше трех символов:
let str = '12345';
if (str.length >= 3) {
console.log('!');
}
В переменной arr
содержится некоторый
массив с числами. Напишите условие, которое
проверит, что в массиве 3
элемента.
Если это так, выведите на экран сумму элементов
массива.
Проверка символа строки
Пусть дана некоторая строка, состоящая из цифр:
let str = '12345';
Давайте проверим, равен ли первый символ
этой строки числу 1
:
let str = '12345';
if (str[0] == 1) {
console.log('!');
}
Проверим теперь последний символ на равенство
числу 5
:
let str = '12345';
let last = str[str.length - 1];
if (last == 5) {
console.log('!');
}
Проверка символа числа
Пусть теперь у нас дано число:
let num = 12345;
Попытка обратиться к первому символу числа приведет к неожиданному поведению:
let num = 12345;
if (num[0] == 1) {
console.log('верно');
} else {
console.log('неверно'); // выведет 'неверно'
}
Как вы уже должны знать, проблема в том, что можно обращаться к символам строки, но нельзя - к цифрам числа:
let num = 12345;
console.log(num[0]); // выведет undefined
Для решения проблемы преобразуем наше число в строку:
let num = 12345;
let str = String(num);
if (str[0] == 1) {
console.log('верно'); // выведет 'верно'
} else {
console.log('неверно');
}
Не обязательно вводить новую переменную,
можно применить [0]
непосредственно
к результату функции String
:
let num = 12345;
if (String(num)[0] == 1) {
console.log('верно'); // выведет 'верно'
} else {
console.log('неверно');
}
Пусть теперь мы хотим проверить первую цифру
на то, что она равна 1
, либо 2
.
Напишем соответствующий код:
let num = 12345;
if (String(num)[0] == 1 || String(num)[0] == 2) {
console.log('верно');
} else {
console.log('неверно');
}
В данном случае получается, что конструкция
String(num)[0]
повторится два раза.
Это, во-первых, длинно, а во-вторых, не оптимально,
так как мы два раза преобразуем число в строку
- второй раз получается лишний, а ресурсы
программы на это тратятся.
Исправим проблему:
let num = 12345;
let first = String(num)[0];
if (first == 1 || first == 2) {
console.log('верно');
} else {
console.log('неверно');
}
Дано целое число. Напишите условие, которое проверит, равна ли последняя цифра этого числа нулю.
Пусть в переменной num
хранится число.
Определите, четное число или нет. Число будет
четным, если последний символ равен 0
,
2
, 4
, 6
или 8
,
и нечетным в противном случае.
Остаток от деления
Пусть у нас есть две переменные с числами:
let a = 10;
let b = 3;
Давайте найдем остаток от деления одной переменной на другую:
let a = 10;
let b = 3;
console.log(a % b); // выведет 1
Пусть теперь в переменных хранятся такие значения, что одна переменная делится на вторую нацело:
let a = 10;
let b = 5;
console.log(a % b); // выведет 0
Давайте напишем скрипт, который будет проверять, делится ли нацело одно число на второе:
let a = 10;
let b = 3;
if (a % b == 0) {
console.log('делится нацело');
} else {
console.log('делится с остатком');
}
Пусть теперь требуется, если число делится с остатком, вывести этот остаток на экран:
let a = 10;
let b = 3;
if (a % b == 0) {
console.log('делится нацело');
} else {
console.log('делится с остатком ' + a % b);
}
В приведенном выше коде получается, что остаток вычисляется в двух местах, а это не оптимально. Поправим проблему:
let a = 10;
let b = 3;
let rest = a % b;
if (rest == 0) {
console.log('делится нацело');
} else {
console.log('делится с остатком ' + rest);
}
Как известно, четные числа делятся на 2
без остатка, а нечетные - с остатком. Пусть
у вас дано число. С помощью оператора %
и конструкции if
проверьте четное
это число или нет.
Дано число. Проверьте, что оно делится на
3
.