Как можно взять массив чисел, разделить их на нечетные и четные, а затем вернуть суммы этих чисел в виде массива, например: [10, 30], где 10 — это сумма нечетных чисел, а 30 — сумма четных чисел, используя только методы фильтрации и сокращения в Javascript?
Информатика 11 класс Работа с массивами в JavaScript массив чисел нечетные и четные сумма чисел методы фильтрации JavaScript программирование массив алгоритмы код на javascript задачи по информатике Новый
Чтобы решить задачу по разделению массива чисел на четные и нечетные, а затем вернуть суммы этих чисел в виде массива, мы можем использовать методы фильтрации и сокращения в JavaScript. Давайте рассмотрим шаги, которые необходимо выполнить.
Сначала создадим массив, который будет содержать наши числа. Например:
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
Используем метод filter
для разделения чисел на четные и нечетные. Мы можем сделать это следующим образом:
const oddNumbers = numbers.filter(num => num % 2 !== 0); const evenNumbers = numbers.filter(num => num % 2 === 0);
Теперь, когда у нас есть два массива (один с четными, другой с нечетными числами), мы можем использовать метод reduce
для вычисления суммы каждого из них:
const sumOdd = oddNumbers.reduce((acc, num) => acc + num, 0); const sumEven = evenNumbers.reduce((acc, num) => acc + num, 0);
Наконец, мы можем создать массив, который будет содержать суммы нечетных и четных чисел:
const result = [sumOdd, sumEven];
В итоге, весь код будет выглядеть так:
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; const oddNumbers = numbers.filter(num => num % 2 !== 0); const evenNumbers = numbers.filter(num => num % 2 === 0); const sumOdd = oddNumbers.reduce((acc, num) => acc + num, 0); const sumEven = evenNumbers.reduce((acc, num) => acc + num, 0); const result = [sumOdd, sumEven]; console.log(result); // Вывод: [25, 30]
Таким образом, мы получили массив, где первый элемент — сумма нечетных чисел, а второй — сумма четных чисел.