[英]Split a number to individual digits in javascript using basic methods
var count = 0; var arr = []; function Split(number) { if (Math.floor(number / 10) > 0) { for (var count = 0; count < number.toString().length; count++) arr[count] = number % 10; number = Math.floor(number / 10); } return arr; } document.write(Split(2345))
它返回 5,5,5,5 而我预计结果是 2,3,4,5 请告诉我哪里出了问题。 谢谢!
你的错误在这里:
for (var count = 0; count < number.toString().length; count++)
arr[count] = number % 10;
number = Math.floor(number / 10);
只有第一个语句包含在 for 循环中,第二个语句仅在 for 循环结束后运行。 您需要在两个语句周围加上大括号,以便在每次迭代时都运行。
for (var count = 0; count < number.toString().length; count++) {
arr[count] = number % 10;
number = Math.floor(number / 10);
}
但是您仍然会得到错误的结果,因为您重置了每次迭代的计数限制。 在开始时设置一次。
var count = 0; var arr = []; function Split(number) { if (Math.floor(number / 10) > 0) { for (var count = 0, countLen = number.toString().length; count < countLen; count++) { arr[count] = number % 10; number = Math.floor(number / 10); } } return arr; } document.write(Split(2345));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.