如何使用JavaScript生成固定开头的数字序列数组
实现方案
核心逻辑
- 先实现两位数字补零的工具方法,保证09的数字可转为`00`
09的字符串格式 - 对后续三组数字分别做循环遍历,取值范围0-99
- 每次循环将固定前缀和三组补零后的字符串拼接,存入结果数组
代码实现
// 复用你已定义的变量 const firstDigit = "2329"; const firstRange = Number("01"); // 第一组起始值,需全量生成可改为0 const maxRange = Number("99"); const arrayOfNumbers = []; // 两位数字补零工具函数 const padToTwo = num => String(num).padStart(2, '0'); // 三层循环遍历三组取值 for (let a = firstRange; a <= maxRange; a++) { const partA = padToTwo(a); for (let b = 0; b <= maxRange; b++) { const partB = padToTwo(b); for (let c = 0; c <= maxRange; c++) { const partC = padToTwo(c); // 无空格格式:2329010203 const fullCode = `${firstDigit}${partA}${partB}${partC}`; // 如需带空格格式:23 29 01 02 03,替换上面的代码为下面这行 // const fullCode = `${firstDigit.slice(0,2)} ${firstDigit.slice(2)} ${partA} ${partB} ${partC}`; arrayOfNumbers.push(fullCode); } } }
注意事项
- 全量生成的情况下,数组总长度为100100100=1000000条,内存占用约10MB左右,普通运行环境都可正常承载
- 如不需要全量数据,可在循环中添加自定义过滤条件,减少生成的数组长度
内容的提问来源于stack exchange,提问作者Nevada
相关产品推荐
相关产品推荐

