JavaScript Program to Find Sum of Odd Numbers in an Array

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:

Table of Content

  • 1. Using a loop
  • 2. Using the filter and reduce methods
  • 3. Using recursion
  • 4. Using forEach
  • 5. Using the for…of Loop

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

5. Using the for…of Loop

The for…of loop provides a concise way to iterate over iterable objects such as arrays. This method checks each element to see if it is odd, and if so, adds it to a running total.

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

JavaScript
function sumOfOddNumbers(arr) {
    let sum = 0;
    for (const num of arr) {
        if (num % 2 !== 0) {
            sum += num;
        }
    }
    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




Contact Us