I am trying to solve a math problem where I take a number e.g. 45
, or 111
and then split the number into separate digits e.g. 4 5
or 1 1 1
. I will then save each number to a var to run a method on. Does anyone know how to split a number into individual digitals?
For example I have a loop that runs on an array :
JavaScript
x
4
1
for (var i = 0; i < range.length; i++) {
2
var n = range[i];
3
}
4
For each number, I would like to split its digits and add them together?
Advertisement
Answer
JavaScript
1
15
15
1
var number = 12354987,
2
output = [],
3
sNumber = number.toString();
4
5
for (var i = 0, len = sNumber.length; i < len; i += 1) {
6
output.push(+sNumber.charAt(i));
7
}
8
9
console.log(output);
10
11
/* Outputs:
12
*
13
* [1, 2, 3, 5, 4, 9, 8, 7]
14
*/
15
UPDATE: Calculating a sum
JavaScript
1
7
1
for (var i = 0, sum = 0; i < output.length; sum += output[i++]);
2
console.log(sum);
3
4
/*
5
* Outputs: 39
6
*/
7