1 function getDigitNumber(startNumber, endNumber) {
2 var reg = /^[1-9]\d*$/;
3 if (startNumber < endNumber && reg.test(startNumber) && reg.test(endNumber)) {
4 for (var i = startNumber; i < endNumber; i++) {
5 var numberLength = 0; // 得到这个数字是几位数
6 var num = i;
7 while (num >= 1) {
8 num = num / 10;
9 numberLength++;
10 }
11 // console.log(numberLength)
12 var numArr = []; // 得到的每个数字的各个位数都是几,123则改成[1,2,3],3845则改成[3,8,4,5]
13 for (var j = 0; j < numberLength; j++) {
14 let k = numberLength - j;
15 if (j == 0) { // 这里的逻辑请看下图,这也是为什么第一位需要添加一个判断
16 numArr.push(Math.floor(i / Math.pow(10, k - 1)));
17 } else {
18 numArr.push(Math.floor(i % Math.pow(10, k) / Math.pow(10, k - 1)));
19 }
20 }
21 console.log(i)
22 console.log(numArr)
23 }
24
25 }else{
26 console.warn("请输入正整数,且结束的数字大于等于开始数字")
27 }
28 }
具体的思路请看下图,其实很简单,就是知道,取余操作“%”和除法操作“/”