Обновлено: 6 февраля 2023 г.

Что такое «если-иначе» и вложенные операторы «если-иначе»? как использовать его в JavaScript?

Оператор 'if-else' в JavaScript — это условный оператор, который позволяет выполнять различные блоки кода на основе логического условия. Условие оценивается, и если оно истинно, код внутри первого блока выполняется и пропускает остальные условия в блоке. Если условие ложно, вместо него выполняется код внутри второго блока (блок else).

if (condition) {
    // code to be executed if condition is true
} else {
    // code to be executed if condition is false
}

В то время как во вложенном операторе 'if-else' он проверяет условие до тех пор, пока не будет установлено, что оно истинно, если какое-либо условие не будет найдено правильным, он выдаст оператор 'else' в качестве вывода.

if (condition) {
    // code to be executed if condition is true
} else if (condition) {
    // code to be executed if condition is true
} else {
    // code to be executed if all condition is false
}

В. Проверить, является ли число нечетным или четным в JavaScript.

Чтобы проверить нечетность и четность в JavaScript, мы будем использовать только оператор модуля, если остаток равен 0, то это просто четное число, иначе нечетное число. Чтобы упростить это, мы можем вспомнить, что числа, оканчивающиеся на 0, 2, 4, 6, 8, являются четными числами, а числа, оканчивающиеся на 1, 3, 5, 7, 9, — нечетными числами.

function isOddEven(num) {
    if(num % 2 == 0){
        return `${num} is an even number`;
    } else{
        return `${num} is an odd number`;
    }
}
console.log(isOddEven(27)); //output: 27 is an odd number
console.log(isOddEven(48)); //output: 48 is an even number

В) Проверить, является ли входная переменная числом или нет

JavaScript предоставляет встроенную функцию isNaN(), которая проверяет, является ли входная переменная числом или нет. Другой способ сделать это — функция «typeof()», которая является противоположностью «isNaN()», здесь мы должны поставить некоторые условия, чтобы проверить, является ли входная переменная числом или нет.

// way 1
function isNum(params) {
    if (isNaN(params)) {
        return `${params} is not a number`;
    } else{
        return `${params} is a number`;
    }
}
console.log(isNum(23)); //output: 23 is a number
console.log(isNum("app")); //output: app is not a number

// way 2
function isNum1(params) {
    if (typeof(params) == "number") {
        return `${params} is a number`;
    } else{
        return `${params} is not a number`;
    }
}
console.log(isNum1(250)); //output: 250 is a number
console.log(isNum1("string")); //output: string is not a number

В) Найдите наибольшее из двух чисел и трех чисел

Метод «Math.max()», созданный для нахождения наибольшего числа из двух или более чисел, помогает нам легко найти его, в противном случае у нас есть другой метод, использующий оператор «if-else» с определенными условиями.

// way 1
function largestNum(num1, num2, num3) {
    if (num3 != null) {
        return `${Math.max(num1, num2, num3)} is the highest of the three numbers`;
    } else {
        return `${Math.max(num1, num2)} is the highest of both numbers`;
    }
}
console.log(largestNum(50, 301)); //output: 301 is the highest of both numbers
console.log(largestNum(32, 19, 59)); //output: 59 is the highest of the three numbers

// way 2
function largestNum(num1, num2, num3) {
    if (num3 != null) {
        if (num1 > num2 && num1 > num3) {
            return `${num1} is the highest of the three numbers`;
        } else if (num2 > num1 && num2 > num3) {
            return `${num2} is the highest of the three numbers`;
        } else if (num3 > num1 && num3 > num2) {
            return `${num3} is the highest of the three numbers`;
        }
    } else {
        if (num1 > num2) {
            return `${num1} is the highest of both numbers`;
        } else {
            return `${num2} is the highest of both numbers`;
        }
    }
}
console.log(largestNum(79, 35)); //output: 79 is the highest of both numbers
console.log(largestNum(62, 23, 85)); //output: 85 is the highest of the three numbers

В) Проверить, является ли треугольник равносторонним, разносторонним или равнобедренным

Чтобы проверить, является ли треугольник равносторонним, разносторонним или равнобедренным, мы воспользуемся здесь тригонометрическими свойствами. Поскольку мы знаем, что все стороны равностороннего треугольника равны, поэтому нам просто нужно сравнить все входные стороны, если они равны, то это равносторонний треугольник. В противном случае проверьте разносторонний треугольник, здесь мы знаем, что в разностороннем треугольнике все стороны имеют разную длину, поэтому сравните все стороны друг с другом, чтобы убедиться, что все стороны имеют разную длину. Наконец, мы знаем, что в равнобедренном треугольнике только две из трех сторон будут равными, поэтому сравните все три стороны друг с другом, чтобы убедиться, что это равнобедренный треугольник.

function triangleType(side1, side2, side3) {
    if (side1 == side2 && side1 == side3) {
        return `(${side1}, ${side2}, ${side3}) are the sides of an equilateral triangle`;
    } else if (side1 != side2 && side2 != side3 && side1 != side3){
        return `(${side1}, ${side2}, ${side3}) are the sides of a scalene triangle`;
    } else if (side1 == side2 || side2 == side3 || side1 == side3){
        return `(${side1}, ${side2}, ${side3}) are the sides of an isosceles triangle`;
    }
}
console.log(triangleType(20, 20, 20)); //output: (20, 20, 20) are the sides of an equilateral triangle
console.log(triangleType(98, 40, 79)); //output: (98, 40, 79) are the sides of a scalene triangle
console.log(triangleType(125, 60, 125)); //output: (125, 60, 125) are the sides of an isosceles triangle

В) Найти число, присутствующее в заданном диапазоне

Чтобы узнать, существует ли число в заданном диапазоне, мы просто установим минимальный и максимальный предел числа и входное число, которое будет проверять, находится ли оно в диапазоне. Для этого мы можем использовать несколько методов, здесь я покажу вам два способа сделать это. В первом случае мы создали массив, в котором мы указываем минимальный и максимальный пределы, после чего мы проверяем обстоятельства, чтобы увидеть, находится ли он в пределах диапазона. Другими словами, мы получаем число, минимальный и максимальный лимит от пользователя и проверяем условия, чтобы увидеть, находится ли он в пределах лимита.

// way 1
function isNumInRange(num) {
    const minMax = [2, 56];
    if (num >= minMax[0] && num <= minMax[1]) {
        return `The number ${num} is within the range of minimum and maximum (${minMax})`;
    } else {
        return `The number ${num} is not within the range of minimum and maximum (${minMax})`;
    }
}
console.log(isNumInRange(20)); //output: The number 20 is within the range of minimum and maximum (2,56)
console.log(isNumInRange(86)); //output: The number 86 is not within the range of minimum and maximum (2,56)

// way 2
function isNumInRange1(num, min, max) {
    if (num >= min && num <= max) {
        return `The number ${num} is within the range of ${min} and ${max}`;
    } else {
        return `The number ${num} is not within the range of ${min} and ${max}`;
    }
}
console.log(isNumInRange1(29, 36, 95)); //output: The number 29 is within the range of 36 and 95
console.log(isNumInRange1(59, 36, 95)); //output: The number 59 is not within the range of 36 and 95

В) Выполнять арифметические операции над двумя числами

Для выполнения арифметических операций мы должны получить от пользователя как минимум два числа, для которых нужно найти сложение, вычитание, умножение, деление, модуль и т. д. Давайте посмотрим, как мы выполняем все операции одновременно, когда пользователь вводит данные.

function evalNum(num1, num2) {
    console.log(`The sum of ${num1} and ${num2} is ${num1 + num2}`); //The sum of 56 and 26 is 82
    console.log(`The subtraction of ${num1} and ${num2} is ${num1 - num2}`); //The subtraction of 56 and 26 is 30
    console.log(`The product of ${num1} and ${num2} is ${num1 * num2}`); //The product of 56 and 26 is 1456
    console.log(`The division from ${num1} to ${num2} is ${num1 / num2}`); //The division from 56 to 26 is 2.1538461538461537
    console.log(`The remainder of ${num1} to ${num2} is ${num1 % num2}`); //The remainder of 56 to 26 is 4
}
evalNum(56, 26);

В) Проверить, является ли указанный год високосным

Чтобы проверить, является ли предоставленный год високосным или нет, мы должны изучить определенные условия.

  1. Если год делится без остатка на 4, перейдите к шагу 2. В противном случае перейдите к шагу 5.
  2. Если год делится на 100 без остатка, перейдите к шагу 3. В противном случае перейдите к шагу 4.
  3. Если год делится без остатка на 400, перейдите к шагу 4. В противном случае перейдите к шагу 5.
  4. Год високосный (в нем 366 дней).
  5. Год не високосный (в нем 365 дней).
function isLeapYear(year) {
    if (((year % 4) == 0 && (year % 100) != 0) || (year % 400) == 0) {
        return `the year ${year} is a leap year`;
    } else {
        return `the year ${year} is not a leap year`;
    }
}
console.log(isLeapYear(2023)); //output: The year 2023 is not a leap year
console.log(isLeapYear(2028)); //output: The year 2028 is a leap year
console.log(isLeapYear(1900)); //output: The year 1900 is not a leap year

В) Найти оценку для входных оценок

Мы использовали два метода, чтобы найти оценку входных баллов, здесь я расскажу об обоих. В первом методе мы использовали только тернарный оператор, который очень легко дает возможность проверки условий, а результат, который мы получаем, очень точен. В другом случае мы использовали условие «если-иначе», для этого мы должны написать многострочное условие, используя вложенное «если-иначе».

// way 1
function grade(marks) {
    return `Your grade is '${marks >= 90 && marks <= 100 ? "A+": marks >= 80 && marks <= 90 ? "A"
    : marks >= 70 && marks <= 80 ? "B": marks >= 60 && marks <= 70 ? "C"
    : marks >= 50 && marks <= 60 ? "D": marks >= 40 && marks <= 50 ? "E"
    : marks >= 0 && marks <= 40 ? "F":"Unexpected input"}'`;
}
console.log(grade(92)); //output: John Doe your grade is 'A+'
console.log(grade(58)); //output: John Doe your grade is 'D'
console.log(grade(39)); //output: John Doe your grade is 'F'
console.log(grade(101)); //output: John Doe your grade is 'unexpected input'

// way 2
function grade1(marks) {
    if (marks >= 90 && marks <= 100) {
        return `Your grade is 'A+'`;
    } else if (marks >= 80 && marks <= 90) {
        return `Your grade is 'A'`;
    } else if (marks >= 70 && marks <= 80) {
        return `Your grade is 'B'`;
    } else if (marks >= 60 && marks <= 70) {
        return `Your grade is 'C'`;
    } else if (marks >= 50 && marks <= 60) {
        return `Your grade is 'D'`;
    } else if (marks >= 40 && marks <= 50) {
        return `Your grade is 'E'`;
    } else if (marks >= 0 && marks <= 40) {
        return `Your grade is 'F'`;
    } else {
        return `Your grade is 'Unexpected input'`;
    }
}
console.log(grade1(100)); //output: John Doe your grade is 'A+'
console.log(grade1(78)); //output: John Doe your grade is 'D'
console.log(grade1(40)); //output: John Doe your grade is 'E'
console.log(grade1(105)); //output: John Doe your grade is 'unexpected input'

В) Найти количество дней в заданном месяце

С помощью JavaScript очень легко найти количество дней в заданном месяце, встроенная функция очень легко сделает эту работу. Посмотрите на метод ниже, где мы получаем месяцы и годы в качестве входных данных от пользователя, и он очень легко дает количество дней в этом месяце.

function daysInMonth(month, year) {
    return `The number of days in month ${month} of the year ${year} is ${new Date(year, month, 0).getDate()} days`;
}
console.log(daysInMonth(2, 2024)); //output: The number of days in month 2 of the year 2024 is 29 days

Чтобы увидеть больше таких интересных блогов, посетите https://code.gamosoftstudio.com/