Open In App

JavaScript Program for Sum of Digits of a Number

Last Updated : 04 Sep, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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:

  • Using Array Reduce() Method
  • Using For…of Loop
  • Using Math.floor and Division
  • Using forEach() Loop

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.

Javascript




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.

Javascript




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.

Javascript




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.

Javascript




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


Output

6


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads