Check Digit Sum Javascript- recursionAdding digits from a number, using recursivity - javascriptHow do JavaScript closures work?How do I check if an element is hidden in jQuery?How do I remove a property from a JavaScript object?How do I check if an array includes an object in JavaScript?Which equals operator (== vs ===) should be used in JavaScript comparisons?Setting “checked” for a checkbox with jQuery?How do I include a JavaScript file in another JavaScript file?What does “use strict” do in JavaScript, and what is the reasoning behind it?How to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?
How to use awk to extract data from a file based on the content of another file?
Huffman Code in C++
Make me a minimum magic sum
Reverse ColorFunction or ColorData
All of my Firefox add-ons been disabled suddenly, how can I re-enable them?
Do Jedi mind tricks work on Ewoks?
Books of scary stories with two or three plots each
Why is the blank symbol not considered part of the input alphabet of a Turing machine?
Is crescere the correct word meaning to to grow or cultivate?
How do I, as a DM, handle a party that decides to set up an ambush in a dungeon?
Can I combine SELECT TOP() with the IN operator?
Installing Debian 10, upgrade to stable later?
Game artist computer workstation set-up – is this overkill?
Has the United States ever had a non-Christian President?
How is trade in services conducted under the WTO in the absence of the Doha conclusion?
What is a common way to tell if an academic is "above average," or outstanding in their field? Is their h-index (Hirsh index) one of them?
Do quaternary sulfur dications exist?
What do you call a painting painted on a wall?
How did the Force make Luke hard to hit in the Battle of Yavin?
How can I obtain and work with a Platonic dodecahedron?
Bounding the absolute value of a function with an integral
Summer '19 Sandbox error: String index out of range: 0: Source
What does the copyright in a dissertation protect exactly?
Is the US ESTA (Electronic System for Travel Authorization) a visa?
Check Digit Sum Javascript- recursion
Adding digits from a number, using recursivity - javascriptHow do JavaScript closures work?How do I check if an element is hidden in jQuery?How do I remove a property from a JavaScript object?How do I check if an array includes an object in JavaScript?Which equals operator (== vs ===) should be used in JavaScript comparisons?Setting “checked” for a checkbox with jQuery?How do I include a JavaScript file in another JavaScript file?What does “use strict” do in JavaScript, and what is the reasoning behind it?How to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
Looking for Javascript solution in recursion to get the sum of all digits in number until single digit come as result
For example, for the number is "55555" the sum of all digits is 25. Because this is not a single-digit number, 2 and 5 would be added, and the result, 7.
I tried the below solution based on the algorithm.
function getSum(n) sum > 9)
if(n == 0)
n = sum;
sum = 0;
sum += n % 10;
n /= 10;
return sum;
console.log(getSum("55555"));
javascript
add a comment |
Looking for Javascript solution in recursion to get the sum of all digits in number until single digit come as result
For example, for the number is "55555" the sum of all digits is 25. Because this is not a single-digit number, 2 and 5 would be added, and the result, 7.
I tried the below solution based on the algorithm.
function getSum(n) sum > 9)
if(n == 0)
n = sum;
sum = 0;
sum += n % 10;
n /= 10;
return sum;
console.log(getSum("55555"));
javascript
Check here I have found same problem here
– Dulanga Heshan
Nov 13 '18 at 20:55
add a comment |
Looking for Javascript solution in recursion to get the sum of all digits in number until single digit come as result
For example, for the number is "55555" the sum of all digits is 25. Because this is not a single-digit number, 2 and 5 would be added, and the result, 7.
I tried the below solution based on the algorithm.
function getSum(n) sum > 9)
if(n == 0)
n = sum;
sum = 0;
sum += n % 10;
n /= 10;
return sum;
console.log(getSum("55555"));
javascript
Looking for Javascript solution in recursion to get the sum of all digits in number until single digit come as result
For example, for the number is "55555" the sum of all digits is 25. Because this is not a single-digit number, 2 and 5 would be added, and the result, 7.
I tried the below solution based on the algorithm.
function getSum(n) sum > 9)
if(n == 0)
n = sum;
sum = 0;
sum += n % 10;
n /= 10;
return sum;
console.log(getSum("55555"));
javascript
javascript
edited Nov 13 '18 at 20:44
A G J
asked Nov 13 '18 at 20:33
A G JA G J
21
21
Check here I have found same problem here
– Dulanga Heshan
Nov 13 '18 at 20:55
add a comment |
Check here I have found same problem here
– Dulanga Heshan
Nov 13 '18 at 20:55
Check here I have found same problem here
– Dulanga Heshan
Nov 13 '18 at 20:55
Check here I have found same problem here
– Dulanga Heshan
Nov 13 '18 at 20:55
add a comment |
3 Answers
3
active
oldest
votes
This would kind of work, but I'm almost sure there's a beautiful one-line solution which I just don't see yet.
function singleDigitSum(str)
str = [...str].reduce((acc, c) => return Number(c) + acc , 0)
while (str.toString().length > 1)
str = singleDigitSum(str.toString());
return str
console.log(singleDigitSum("55555"))
Explanation:
As a first step in your function you reassign to the parameter passed to the function the result of a reducer function which sums up all numbers in your String
. To be able to use Array.prototype.reduce()
function, I'm spreading your str
into an array
using [...str]
.
Then, for as often as that reducer returns a value with more than one digit, rinse and repeat. When the while loop exits, the result is single digit and can be return
ed.
it's not a pure recursion, you are using one another functionreduce
here .
– Jaisa Ram
Nov 13 '18 at 21:57
add a comment |
function checSumOfDigit(num, sum = "0")
if (num.length == 1 && sum.length !== 1)
return checSumOfDigit(Number(sum) + Number(num) + "", "0");
else if (num.length == 1)
return Number(sum) + Number(num);
num = num.split("")
sum = Number(sum) + Number(num.pop());
return checSumOfDigit(num.join(""), sum + "")
console.log(checSumOfDigit("567"));
console.log(checSumOfDigit("123"));
console.log(checSumOfDigit("55555"));
this code might be help you
add a comment |
If you need a recursion try this one
function CheckDigitSum(number)
let nums = number.split('');
if (nums.length > 1)
let sum = 0;
for (let i = 0; i < nums.length; i++)
sum += Number(nums[i]);
return CheckDigitSum(sum.toString());
else
return parseInt(nums[0], 10);
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53289076%2fcheck-digit-sum-javascript-recursion%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
This would kind of work, but I'm almost sure there's a beautiful one-line solution which I just don't see yet.
function singleDigitSum(str)
str = [...str].reduce((acc, c) => return Number(c) + acc , 0)
while (str.toString().length > 1)
str = singleDigitSum(str.toString());
return str
console.log(singleDigitSum("55555"))
Explanation:
As a first step in your function you reassign to the parameter passed to the function the result of a reducer function which sums up all numbers in your String
. To be able to use Array.prototype.reduce()
function, I'm spreading your str
into an array
using [...str]
.
Then, for as often as that reducer returns a value with more than one digit, rinse and repeat. When the while loop exits, the result is single digit and can be return
ed.
it's not a pure recursion, you are using one another functionreduce
here .
– Jaisa Ram
Nov 13 '18 at 21:57
add a comment |
This would kind of work, but I'm almost sure there's a beautiful one-line solution which I just don't see yet.
function singleDigitSum(str)
str = [...str].reduce((acc, c) => return Number(c) + acc , 0)
while (str.toString().length > 1)
str = singleDigitSum(str.toString());
return str
console.log(singleDigitSum("55555"))
Explanation:
As a first step in your function you reassign to the parameter passed to the function the result of a reducer function which sums up all numbers in your String
. To be able to use Array.prototype.reduce()
function, I'm spreading your str
into an array
using [...str]
.
Then, for as often as that reducer returns a value with more than one digit, rinse and repeat. When the while loop exits, the result is single digit and can be return
ed.
it's not a pure recursion, you are using one another functionreduce
here .
– Jaisa Ram
Nov 13 '18 at 21:57
add a comment |
This would kind of work, but I'm almost sure there's a beautiful one-line solution which I just don't see yet.
function singleDigitSum(str)
str = [...str].reduce((acc, c) => return Number(c) + acc , 0)
while (str.toString().length > 1)
str = singleDigitSum(str.toString());
return str
console.log(singleDigitSum("55555"))
Explanation:
As a first step in your function you reassign to the parameter passed to the function the result of a reducer function which sums up all numbers in your String
. To be able to use Array.prototype.reduce()
function, I'm spreading your str
into an array
using [...str]
.
Then, for as often as that reducer returns a value with more than one digit, rinse and repeat. When the while loop exits, the result is single digit and can be return
ed.
This would kind of work, but I'm almost sure there's a beautiful one-line solution which I just don't see yet.
function singleDigitSum(str)
str = [...str].reduce((acc, c) => return Number(c) + acc , 0)
while (str.toString().length > 1)
str = singleDigitSum(str.toString());
return str
console.log(singleDigitSum("55555"))
Explanation:
As a first step in your function you reassign to the parameter passed to the function the result of a reducer function which sums up all numbers in your String
. To be able to use Array.prototype.reduce()
function, I'm spreading your str
into an array
using [...str]
.
Then, for as often as that reducer returns a value with more than one digit, rinse and repeat. When the while loop exits, the result is single digit and can be return
ed.
function singleDigitSum(str)
str = [...str].reduce((acc, c) => return Number(c) + acc , 0)
while (str.toString().length > 1)
str = singleDigitSum(str.toString());
return str
console.log(singleDigitSum("55555"))
function singleDigitSum(str)
str = [...str].reduce((acc, c) => return Number(c) + acc , 0)
while (str.toString().length > 1)
str = singleDigitSum(str.toString());
return str
console.log(singleDigitSum("55555"))
edited Nov 13 '18 at 20:53
answered Nov 13 '18 at 20:48
connexoconnexo
23.6k93863
23.6k93863
it's not a pure recursion, you are using one another functionreduce
here .
– Jaisa Ram
Nov 13 '18 at 21:57
add a comment |
it's not a pure recursion, you are using one another functionreduce
here .
– Jaisa Ram
Nov 13 '18 at 21:57
it's not a pure recursion, you are using one another function
reduce
here .– Jaisa Ram
Nov 13 '18 at 21:57
it's not a pure recursion, you are using one another function
reduce
here .– Jaisa Ram
Nov 13 '18 at 21:57
add a comment |
function checSumOfDigit(num, sum = "0")
if (num.length == 1 && sum.length !== 1)
return checSumOfDigit(Number(sum) + Number(num) + "", "0");
else if (num.length == 1)
return Number(sum) + Number(num);
num = num.split("")
sum = Number(sum) + Number(num.pop());
return checSumOfDigit(num.join(""), sum + "")
console.log(checSumOfDigit("567"));
console.log(checSumOfDigit("123"));
console.log(checSumOfDigit("55555"));
this code might be help you
add a comment |
function checSumOfDigit(num, sum = "0")
if (num.length == 1 && sum.length !== 1)
return checSumOfDigit(Number(sum) + Number(num) + "", "0");
else if (num.length == 1)
return Number(sum) + Number(num);
num = num.split("")
sum = Number(sum) + Number(num.pop());
return checSumOfDigit(num.join(""), sum + "")
console.log(checSumOfDigit("567"));
console.log(checSumOfDigit("123"));
console.log(checSumOfDigit("55555"));
this code might be help you
add a comment |
function checSumOfDigit(num, sum = "0")
if (num.length == 1 && sum.length !== 1)
return checSumOfDigit(Number(sum) + Number(num) + "", "0");
else if (num.length == 1)
return Number(sum) + Number(num);
num = num.split("")
sum = Number(sum) + Number(num.pop());
return checSumOfDigit(num.join(""), sum + "")
console.log(checSumOfDigit("567"));
console.log(checSumOfDigit("123"));
console.log(checSumOfDigit("55555"));
this code might be help you
function checSumOfDigit(num, sum = "0")
if (num.length == 1 && sum.length !== 1)
return checSumOfDigit(Number(sum) + Number(num) + "", "0");
else if (num.length == 1)
return Number(sum) + Number(num);
num = num.split("")
sum = Number(sum) + Number(num.pop());
return checSumOfDigit(num.join(""), sum + "")
console.log(checSumOfDigit("567"));
console.log(checSumOfDigit("123"));
console.log(checSumOfDigit("55555"));
this code might be help you
function checSumOfDigit(num, sum = "0")
if (num.length == 1 && sum.length !== 1)
return checSumOfDigit(Number(sum) + Number(num) + "", "0");
else if (num.length == 1)
return Number(sum) + Number(num);
num = num.split("")
sum = Number(sum) + Number(num.pop());
return checSumOfDigit(num.join(""), sum + "")
console.log(checSumOfDigit("567"));
console.log(checSumOfDigit("123"));
console.log(checSumOfDigit("55555"));
function checSumOfDigit(num, sum = "0")
if (num.length == 1 && sum.length !== 1)
return checSumOfDigit(Number(sum) + Number(num) + "", "0");
else if (num.length == 1)
return Number(sum) + Number(num);
num = num.split("")
sum = Number(sum) + Number(num.pop());
return checSumOfDigit(num.join(""), sum + "")
console.log(checSumOfDigit("567"));
console.log(checSumOfDigit("123"));
console.log(checSumOfDigit("55555"));
answered Nov 13 '18 at 22:13
Jaisa RamJaisa Ram
27438
27438
add a comment |
add a comment |
If you need a recursion try this one
function CheckDigitSum(number)
let nums = number.split('');
if (nums.length > 1)
let sum = 0;
for (let i = 0; i < nums.length; i++)
sum += Number(nums[i]);
return CheckDigitSum(sum.toString());
else
return parseInt(nums[0], 10);
add a comment |
If you need a recursion try this one
function CheckDigitSum(number)
let nums = number.split('');
if (nums.length > 1)
let sum = 0;
for (let i = 0; i < nums.length; i++)
sum += Number(nums[i]);
return CheckDigitSum(sum.toString());
else
return parseInt(nums[0], 10);
add a comment |
If you need a recursion try this one
function CheckDigitSum(number)
let nums = number.split('');
if (nums.length > 1)
let sum = 0;
for (let i = 0; i < nums.length; i++)
sum += Number(nums[i]);
return CheckDigitSum(sum.toString());
else
return parseInt(nums[0], 10);
If you need a recursion try this one
function CheckDigitSum(number)
let nums = number.split('');
if (nums.length > 1)
let sum = 0;
for (let i = 0; i < nums.length; i++)
sum += Number(nums[i]);
return CheckDigitSum(sum.toString());
else
return parseInt(nums[0], 10);
edited Mar 24 at 3:36
answered Mar 23 at 4:36
Daniel DeulinDaniel Deulin
316
316
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53289076%2fcheck-digit-sum-javascript-recursion%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Check here I have found same problem here
– Dulanga Heshan
Nov 13 '18 at 20:55