Open In App

JavaScript Program to Find Sum of Odd Numbers in an Array

Last Updated : 19 Mar, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

In JavaScript, working with arrays is a common task. Often one needs to manipulate the elements within an array, such as finding specific values or calculating their sum.

Below are the approaches to find the sum of all odd numbers within an array:

1. Using a loop

This method loops over each element in the array, checking if it is odd or not. If so, the element is added to a running total variable, which holds the total of all odd numbers that have been visited up to this point.

Example: In the provided JavaScript code, a function sumOfOddNumbers is defined to calculate the sum of odd numbers within an array. This function iterates through the array, adding up the odd numbers encountered, and returns the total sum.

Javascript
function sumOfOddNumbers(arr) {
    let sum = 0;
    for (let i = 0; i < arr.length; i++) {
        if (arr[i] % 2 !== 0) {
            sum += arr[i];
        }
    }
    return sum;
}

const numbers = [1, 2, 3, 4, 5];
const oddSum = sumOfOddNumbers(numbers);
console.log("Sum of odd numbers:", oddSum);

Output
Sum of odd numbers: 9

2. Using the filter and reduce methods

This method provides a simpler answer by using built-in array features. By using the filter technique, a new array is created that only has the odd elements from the original array. The filtered array is then iterated by using the reduce method, which adds each element to the sum.

Example: The function`sumOfOddNumbers` takes an array, filters out odd numbers, and returns their sum using the `filter` and `reduce` methods. The example shows its usage by finding the sum of odd numbers in an array and printing the result.

Javascript
function sumOfOddNumbers(arr) {

return arr.filter(num => num % 2 !== 0)
.reduce((acc, num) => acc + num, 0);
}

const numbers = [1, 2, 3, 4, 5];
const oddSum = sumOfOddNumbers(numbers);
// Print the result, which is the sum of odd numbers in the array.
console.log("Sum of odd numbers:", oddSum);

Output
Sum of odd numbers: 9

3. Using recursion

This method defines a recursive function that takes the array and the current index as arguments. It checks if the index is within the array bounds and if the current element is odd. If both conditions are met, the element is added to the sum and the function calls itself with the next index. The base case occurs when the index reaches the end of the array, returning the accumulated sum.

Example: Recursive function `sumOfOddNumbers` calculates the sum of odd numbers in an array. It iterates through the array, accumulating odd numbers using recursion.

Javascript
function sumOfOddNumbers(arr, index = 0, sum = 0) {
    if (index >= arr.length) {
        return sum;
    }

    return arr[index] % 2 !== 0
        ? sumOfOddNumbers(arr, index + 1, sum + arr[index])
        : sumOfOddNumbers(arr, index + 1, sum);
}

const numbers = [1, 2, 3, 4, 5];
const oddSum = sumOfOddNumbers(numbers);
console.log("Sum of odd numbers:", oddSum);

Output
Sum of odd numbers: 9

4. Using forEach

In this approach we use the forEach method to iterate over each element of the array. We use the condition num % 2 !== 0 to check if the number is odd. If the number is odd, we add it to the sum variable

Example: Below example uses forEach method to calculate the sum of odd numbers.

JavaScript
const array = [1, 2, 3, 4, 5];
let sum = 0;

array.forEach((num) => {
  if (num % 2 !== 0) {
    sum += num;
  }
});

console.log("Sum of all numbers: ",sum);

Output
Sum of all numbers:  9




Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads