Чтобы вычислить сумму нечетных чисел в массиве в 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
Обратите внимание, что эти методы предполагают, что массив содержит только числа.