Определение четных и нечетных чисел в массиве на JavaScript

Определение четных и нечетных чисел в массиве на JavaScript

В программировании часто возникают задачи, связанные с определением четных и нечетных чисел в массиве. В данной статье мы рассмотрим несколько способов решения этой задачи на языке 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] храним массивы четных и нечетных чисел соответственно. В функции-аккумуляторе проверяем каждое число на четность и добавляем в соответствующий массив.

Читайте так же  Как Фильтровать Map в JavaScript: Оптимизация для Улучшения Производительности

Заключение

Определение четных и нечетных чисел в массиве на JavaScript может быть выполнено различными способами. В данной статье мы рассмотрели метод filter(), цикл for...of и метод reduce(). Выберите тот способ, который вам больше нравится и используйте его в своих проектах!