В программировании часто возникают задачи, связанные с определением четных и нечетных чисел в массиве. В данной статье мы рассмотрим несколько способов решения этой задачи на языке JavaScript.
Метод filter()
Метод filter()
позволяет отфильтровать элементы массива с помощью переданной функции-предиката. Для определения четности числа можно воспользоваться операцией модуля (%) – если результат деления числа на 2 равен нулю, то это четное число, иначе – нечетное.
const numbers = [1, 2, 3, 4, 5, 6];
const evenNumbers = numbers.filter((num) => num % 2 === 0);
const oddNumbers = numbers.filter((num) => num % 2 !== 0);
console.log(evenNumbers); // [2, 4, 6]
console.log(oddNumbers); // [1, 3, 5]
В данном примере мы определяем массив чисел numbers
, затем используем метод filter()
для отбора четных и нечетных чисел. Четные числа определяем с помощью выражения num % 2 === 0
, нечетные – num % 2 !== 0
.
Цикл for…of
Другой способ определения четных и нечетных чисел – использование цикла for...of
. В этом случае мы просто проходим по элементам массива и проверяем каждое на четность.
const numbers = [1, 2, 3, 4, 5, 6];
const evenNumbers = [];
const oddNumbers = [];
for (const num of numbers) {
if (num % 2 === 0) {
evenNumbers.push(num);
} else {
oddNumbers.push(num);
}
}
console.log(evenNumbers); // [2, 4, 6]
console.log(oddNumbers); // [1, 3, 5]
В данном примере мы также определяем массив чисел numbers
, затем создаем два новых массива – evenNumbers
и oddNumbers
. В цикле for...of
проходим по каждому элементу массива, проверяем его на четность и добавляем в соответствующий массив.
Метод reduce()
Метод reduce()
позволяет свернуть массив до одного значения, применяя к элементам массива переданную функцию-аккумулятор. Для определения четности числа можно использовать ту же операцию %
.
const numbers = [1, 2, 3, 4, 5, 6];
const [evenNumbers, oddNumbers] = numbers.reduce(
([evenArr, oddArr], num) => {
if (num % 2 === 0) {
evenArr.push(num);
} else {
oddArr.push(num);
}
return [evenArr, oddArr];
},
[[], []]
);
console.log(evenNumbers); // [2, 4, 6]
console.log(oddNumbers); // [1, 3, 5]
В данном примере мы также определяем массив чисел numbers
, затем используем метод reduce()
для определения четных и нечетных чисел. В массиве аккумулятора [evenArr, oddArr]
храним массивы четных и нечетных чисел соответственно. В функции-аккумуляторе проверяем каждое число на четность и добавляем в соответствующий массив.
Заключение
Определение четных и нечетных чисел в массиве на JavaScript может быть выполнено различными способами. В данной статье мы рассмотрели метод filter()
, цикл for...of
и метод reduce()
. Выберите тот способ, который вам больше нравится и используйте его в своих проектах!