zoukankan      html  css  js  c++  java
  • 数字位数不够,进行前补零的JS最简实现方案

    代码实现

    /**
    * 自定义函数名:PrefixZero
    * @param num: 被操作数
    * @param n: 固定的总位数
    */
    function PrefixZero(num, n) {
        return (Array(n).join(0) + num).slice(-n);
    }
    

    具体示例

    var myNum = 9;
    var myNum2 = 12;
    
    console.log('原变量myNum:'+myNum);//9
    console.log('处理后myNum:'+PrefixZero(myNum, 3));//009
     
    console.log('原变量myNum2:'+myNum2);
    console.log('处理后myNum2:'+PrefixZero(myNum2, 3));//012
    

    简要说明如下:

    • 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
    • (Array(5).join(0) + 91).slice(-5) => slice(startIndex,endIndex)方法,用于截取
      参数说明:
      参数是起始位置,含头不含尾,
      只有一个参数时,表示从该起始位置一直截取到最后。
      参数值为负数时,表示从后往前数,如最后一位,索引是-1

    如此,.slice(-5)表示截取的是从后往前数5位一直到最后
    console.log((Array(5).join(0) + 91).slice(-5));// 00091

  • 相关阅读:
    requestAnimationFrame
    js来监控复制粘贴
    nodejs事件循环
    前端路由
    js基础查漏补缺(更新)
    http & https & http2.0
    进度条方案
    移动端适配方案
    性能优化之节流、防抖
    altium designer 里如何设置PCB默认字符默认大小(PCB丝印)
  • 原文地址:https://www.cnblogs.com/chaoyueqi/p/9171775.html
Copyright © 2011-2022 走看看