Open In App

JavaScript Program for Sum of Digits of a Number

In this article, we are going to learn about finding the Sum of Digits of a number using JavaScript. The Sum of Digits refers to the result obtained by adding up all the individual numerical digits within a given integer. It’s a basic arithmetic operation. This process is repeated until a single-digit sum, also known as the digital root.

There are several methods that can be used to find the Sum Of Digits by using JavaScript, which are listed below:



We will explore all the above methods along with their basic implementation with the help of examples.

Approach 1: Using Array Reduce() Method

In this approach, the reduce method transforms each digit of a number into an accumulated sum. It converts the number to a string, iterates, and adds each digit to the sum.



Syntax:

array.reduce( function(total, currentValue, currentIndex, arr), initialValue )

Example: In this example, the sumOfDigit function converts the number to a string, splits it into digits, and then reduces by adding parsed digits, resulting in the sum.




function sumOfDigit(num) {
    return num.toString().split("")
        .reduce((sum, digit) =>
            sum + parseInt(digit), 0);
}
  
console.log(sumOfDigit(738));

Output
18

Approach 2: Using For…of Loop

In this approach, Iterate through each digit of a number by converting it to a string, then use a for…of loop to add parsed digits, resulting in the sum.

Syntax:

for ( variable of iterableObjectName) {
. . .
}

Example: In this example we are using the above-explained approach.




function sumOfDigit(num) {
    let numStr = num.toString();
    let sum = 0;
  
    for (let digit of numStr) {
        sum += parseInt(digit);
    }
  
    return sum;
}
  
console.log(sumOfDigit(738));

Output
18

Approach 3: Using Math.floor and Division

In this approach, we calculate sum by repeatedly adding last digit using remainder of 10 and updating number by division, until it’s 0.

Syntax:

Math.floor( value )

Example: In this example we are using above-explained approach.




function sumOfDigits(num) {
    let sum = 0;
    for (; num > 0; num = Math.floor(num / 10)) {
        sum += num % 10;
    }
    return sum;
}
  
console.log(sumOfDigits(456));

Output
15

Approach 4: Using forEach

In this approach, we are converting the number to a string, split it into digits, and use forEach loop to add parsed digits, obtaining the sum.

Syntax:

array.forEach(callback(element, index, arr), thisValue)

Example: In this example, the number 123 is converted to a string and then split into an array of individual digits. The forEach loop iterates through each digit in the array. Inside the loop, each digit is parsed and added to the sum variable.




function sumOfDigit(num) {
    let sum = 0;
    num.toString().split("").forEach(digit => {
        sum += parseInt(digit);
    });
    return sum;
}
  
console.log(sumOfDigit(123));

Output
6

Article Tags :