关于javascript:你不知道的补0方法

6次阅读

共计 834 个字符,预计需要花费 3 分钟才能阅读完成。

在业务中有时候会遇到工夫倒计时,特地是电商类业务中的秒杀、抢购、预约等场景,所以就设计工夫有余两位,后面补 0 的操作。

比方 2020-3-9 变成 2020-03-09。

大多数开发敌人会应用如下办法:

function padLeftZero(n){return n < 10 ? '0' + n : n}

function padLeftZero(n){return (n < 10 ? '0' : '') + i
}

其实下面两个办法都是一样的。

接下来再介绍几个别的办法:

slice 办法

语法:

slice(beginIndex)
slice(beginIndex, endIndex)

beginIndex 为正数时,取值改为 str.length + beginIndex,例如:

beginIndex = -2,str = ‘010’,最初 ‘010’.slice(3-2) 后果为 ’10’,此时若 str=’03’,’03’.slice(0) 后果为 ’03’。

利用:

function padLeftZero(n){return ('0' + n).slice(-2)
}

padStart 办法

语法:

padStart(targetLength)
padStart(targetLength, padString)

就是在后面补足 padString,直到满足 targetLength 的长度。例如

(3+'').padStart(2,'0') // 也就是'3'.padStart(2,'0') , 指标长度是 2 则须要在后面补 0 来使长度满足,后果为'03'。

利用:

function padLeftZero(n){return (n + '').padStart(2,'0')
}

其余一些办法:

new Date().toISOString().slice(0,10) // "2021-08-20"

new Date().toLocaleDateString("default", {year: "numeric", month: "2-digit", day: "2-digit"}) // "2021/08/21"
正文完
 0