javascript - 有没有更好的方法来实现这一目标?'000000'.slice(0, -'434'.length) + '434' = '000434'
问题描述
是的,标题几乎说明了一切。基本上我想要一个全为零的默认 X 位数。然后,从这个数字,我想用其他数字替换最后一个字符。例如,如果我有'434',默认为'000000',结果应该是'000434'。
在 Ruby 中,这相当于做'%.6d' % 434
,它返回'000434'
. 如果我要保存的号码超过 6 位,我就用那个号码代替。我意识到,当我使用字符串时,我可以使用这个解决方案:
let base = '000000'
let str = '434'
console.log(base.slice(0, -str.length) + str)
Buuut,即使它是一种简单的方法,我也不知道它是否是最好的。怎么想?
解决方案
为了与旧的 JS 环境兼容,你可以只依赖一个更简单的切片:
(base + str).slice(-6)
对于现代的,padStart
可用:
str.padStart(6, '0') // or String(num)
推荐阅读
- swift - UIPressesEvent pressType Select 不能快速工作
- reactjs - 使用固定文本和占位符反应 Material-UI TextInput
- react-native - 如何为 react-native-camera 使用 refreshAuthorizationStatus 函数
- python - Python正则表达式替换单个换行符并忽略两个或多个换行符的序列
- c# - 如何在 Unity 中使用 System.Speech?
- node.js - 错误:NodeJS HTTPS 请求中的自签名证书
- laravel-admin - 无法在 z-song laravel-admin 中进行级联选择
- spring - 如何使用图像 url 更新图像
- javascript - 一起使用 d3.js 和 canvas 创建图表
- php - 我无法使用 Composer 安装 Laravel(缺少 ext-zip 扩展名)