JavaScript Program to Find Sum of Odd Numbers in an Array
Last Updated :
19 Mar, 2024
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);
OutputSum 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);
OutputSum 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);
OutputSum 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);
OutputSum of all numbers: 9
Share your thoughts in the comments
Please Login to comment...