数字位数不够,进⾏前补零的JS实现⽅案
/**
* ⾃定义函数名:PrefixZero
* @param num:被操作数
* @param n:固定的总位数
*/
function PrefixZero(num, n) {
return (Array(n).join(0) + num).slice(-n);
}
  使⽤原理下::
Array(5) => 创建了⼀个长度为5的空数组
console.log(Array(5));// [empty × 5]
Array(5).join(0) => ⽤0拼接将数组转换成字符串
console.log(Array(5).join(0));// 0000
Array(5).join(0)+91 => 通过+,实现字符串的拼接
console.log(Array(5).join(0)+91);// 000091
es6字符串转数组
(Array(5).join(0) + 91).slice(-5) => slice(startIndex,endIndex)⽅法,⽤于截取
参数说明:
参数是起始位置,含头不含尾,
只有⼀个参数时,表⽰从该起始位置⼀直截取到最后。
参数值为负数时,表⽰从后往前数,如最后⼀位,索引是-1
PS:不知为何,引⼊es6的Api不⾏----------‘X’.padStart(5,ab),使⽤规则如下:
ES2017 引⼊了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()⽤于头部补
全,padEnd()⽤于尾部补全。
'x'.padStart(5, 'ab') // 'ababx'
'x'.padStart(4, 'ab') // 'abax'
'x'.padEnd(5, 'ab') // 'xabab'
'x'.padEnd(4, 'ab') // 'xaba'
上⾯代码中,padStart()和padEnd()⼀共接受两个参数,第⼀个参数是字符串补全⽣效的最⼤长度,第⼆个参数是⽤来补全的字符串。
如果原字符串的长度,等于或⼤于最⼤长度,则字符串补全不⽣效,返回原字符串。
'xxx'.padStart(2, 'ab') // 'xxx'
'xxx'.padEnd(2, 'ab') // 'xxx'
如果⽤来补全的字符串与原字符串,两者的长度之和超过了最⼤长度,则会截去超出位数的补全字符串。
'abc'.padStart(10, '0123456789')
// '0123456abc'
如果省略第⼆个参数,默认使⽤空格补全长度。
'x'.padStart(4) // '  x'
'x'.padEnd(4) // 'x  '
padStart()的常见⽤途是为数值补全指定位数。下⾯代码⽣成 10 位的数值字符串。
'1'.padStart(10, '0') // "0000000001"
'12'.padStart(10, '0') // "0000000012"
'123456'.padStart(10, '0') // "0000123456"
另⼀个⽤途是提⽰字符串格式。
'12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12"
'09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12"
不知哪位⼤佬知道,希望可以不吝赐教

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。