JavaScript — один из самых популярных языков программирования, который широко применяется для разработки веб-приложений. Нередко возникает необходимость вывести только четные числа из заданного диапазона. В этой статье мы рассмотрим несколько способов решения данной задачи с использованием JavaScript.
Третий способ — использование метода filter. Этот метод применяется к массивам и позволяет отфильтровать массив, оставив только элементы, удовлетворяющие заданному условию. В нашем случае, условием является четность числа. Таким образом, можно создать массив, содержащий все числа из заданного диапазона, а затем отфильтровать его, оставив только четные числа. При помощи метода forEach можно вывести эти числа на экран.
1) Использование цикла for:
Чтобы вывести все четные числа в определенном диапазоне, вы можете использовать цикл for и оператор if для проверки четности каждого числа. Например:
for(let i = 0; i <= 10; i++) {if(i % 2 === 0) {console.log(i);}}
Этот код выведет все четные числа от 0 до 10 в консоль.
2) Использование метода filter массива:
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];const evenNumbers = numbers.filter(num => num % 2 === 0);console.log(evenNumbers);
Этот код создаст новый массив evenNumbers, содержащий только четные числа из исходного массива numbers, и выведет его в консоль.
3) Использование оператора ternary:
for(let i = 0; i <= 10; i++) {i % 2 === 0 ? console.log(i) : null;}
Этот код также выведет все четные числа от 0 до 10 в консоль.
Использование цикла for и условного оператора if
for (let i = 1; i <= 10; i++) {if (i % 2 === 0) {console.log(i);}}
Таким образом, после выполнения данного кода в консоли будут выведены четные числа от 2 до 10 включительно:
246810
Методы массивов: filter() и forEach()
Метод filter() позволяет отфильтровать элементы массива с помощью заданной функции-предиката. Только элементы, удовлетворяющие условиям функции-предиката, будут сохранены в новом массиве.
Пример использования метода filter():
let numbers = [1, 2, 3, 4, 5, 6];let evenNumbers = numbers.filter(function(number) {return number % 2 === 0;});console.log(evenNumbers); // [2, 4, 6]
Метод forEach() выполняет указанную функцию один раз для каждого элемента массива. Он не возвращает новый массив, а просто выполняет заданную функцию для каждого элемента массива.
Пример использования метода forEach():
let numbers = [1, 2, 3, 4, 5, 6];numbers.forEach(function(number) {console.log(number);});123456 */
Методы filter() и forEach() являются удобными в работе с массивами и позволяют более эффективно и гибко работать с элементами массива.
Работа с циклом while
Цикл while в JavaScript используется для повторения определенного блока кода до тех пор, пока указанное условие истинно.
Синтаксис цикла while следующий:
while (условие) {// блок кода}
Перед каждой итерацией цикла, условие проверяется. Если оно истинно, то выполняется блок кода, затем проверка условия повторяется. Если условие становится ложным, цикл прекращает работу и управление передается следующему блоку кода после цикла.
let i = 2;while (i <= 10) {if (i % 2 === 0) {console.log(i);}i++;}
246810
Базовый случай - это условие, при котором рекурсия должна остановиться. В нашем случае, это проверка, является ли текущее число четным или нет. Если число нечетное, то рекурсия останавливается.
Шаг рекурсии - это изменение параметра функции перед следующим вызовом. В нашей задаче, это увеличение текущего числа на 1 перед следующим вызовом функции.
function printEvenNumbers(start, end) {if (start > end) {return;}if (start % 2 === 0) {console.log(start);}printEvenNumbers(start + 1, end);}printEvenNumbers(1, 10);
Результат выполнения этой функции будет следующим:
246810
Таким образом, с помощью рекурсивной функции мы можем легко вывести все четные числа в заданном диапазоне.
Использование оператора % (остаток от деления)
Чтобы вывести четные числа, можно использовать конструкцию вида "if (число % 2 === 0)", которая проверяет, является ли остаток от деления числа на 2 равным нулю. Если это условие выполняется, то число является четным.
Пример кода:
let num = 1;
while (num <= 100) {
if (num % 2 === 0) {
console.log(num);
}
num++;
}
Применение встроенной функции even()
Для использования функции even() необходимо передать число в качестве аргумента:
let number = 10;if (number.even()) {console.log("Число " + number + " четное");} else {console.log("Число " + number + " нечетное");}
Функция even() может быть полезной при работе с большими объемами данных, когда требуется быстрая проверка на четность.
Через генераторы и итераторы
function* generateEvenNumbers() {let num = 0;while (true) {yield num;num += 2;}}const evenNumbersIterator = generateEvenNumbers();for (let i = 0; i < 10; i++) {const evenNumber = evenNumbersIterator.next().value;console.log(evenNumber);}