JavaScript: вычисление суммы нечетных чисел в массиве без цикла

Чтобы вычислить сумму нечетных чисел в массиве в JavaScript без использования цикла, вы можете использовать различные методы. Вот несколько подходов:

Метод 1: использование Array.reduce() и оператора модуля (%):

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => {
  if (currentValue % 2 !== 0) {
    return accumulator + currentValue;
  }
  return accumulator;
}, 0);
console.log(sum); // Output: 9

Метод 2: использование Array.filter() и Array.reduce():

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.filter(number => number % 2 !== 0)
                   .reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // Output: 9

Метод 3. Использование рекурсивной функции:

function sumOfOddNumbers(numbers, index = 0, sum = 0) {
  if (index >= numbers.length) {
    return sum;
  }
  if (numbers[index] % 2 !== 0) {
    sum += numbers[index];
  }
  return sumOfOddNumbers(numbers, index + 1, sum);
}
const numbers = [1, 2, 3, 4, 5];
const sum = sumOfOddNumbers(numbers);
console.log(sum); // Output: 9

Обратите внимание, что эти методы предполагают, что массив содержит только числа.