如何实现随机数转固定长度补零数组?技术求助
解决方案
你可以通过两种方式实现需求,保证生成的数组始终是长度为5的数字数组,不足位左侧补0:
方案一:字符串补零转换法
利用字符串的padStart()方法先给数字补全前导零到5位,再转换为数字数组:
let randInt = Math.floor(Math.random() * 100000); let separated = Array.from(String(randInt).padStart(5, '0'), Number);
String(randInt).padStart(5, '0'):将随机数转为字符串后,在左侧填充'0'直到字符串长度为5,比如123会变成'00123',4467变成'04467'Array.from(..., Number):把补零后的字符串拆分为单个字符,再逐个转换为数字,得到目标数组
方案二:数学计算提取法
通过整除和取余运算直接提取每一位数字,高位自动补0:
let randInt = Math.floor(Math.random() * 100000); let separated = [ Math.floor(randInt / 10000), // 提取万位 Math.floor(randInt / 1000) % 10, // 提取千位 Math.floor(randInt / 100) % 10, // 提取百位 Math.floor(randInt / 10) % 10, // 提取十位 randInt % 10 // 提取个位 ];
内容的提问来源于stack exchange,提问作者kondziu
相关产品推荐
相关产品推荐

