3 回答
TA贡献1845条经验 获得超8个赞
var number = 12354987,
output = [],
sNumber = number.toString();
for (var i = 0, len = sNumber.length; i < len; i += 1) {
output.push(+sNumber.charAt(i));
}
console.log(output);
/* Outputs:
*
* [1, 2, 3, 5, 4, 9, 8, 7]
*/
更新:计算总和
for (var i = 0, sum = 0; i < output.length; sum += output[i++]);
console.log(sum);
/*
* Outputs: 39
*/
TA贡献1804条经验 获得超2个赞
var num = 123456;
var digits = num.toString().split('');
var realDigits = digits.map(Number)
console.log(realDigits);
TA贡献1887条经验 获得超5个赞
您也可以以“数学”方式进行操作,而无需将数字视为字符串:
var num = 278;
var digits = [];
while (num > 0) {
digits.push(num % 10);
num = parseInt(num / 10);
}
digits.reverse();
console.log(digits);
我可以看到的一个好处是,您不必parseInt()
在每个数字上都运行,而是将实际数字作为数值来处理。
添加回答
举报