![]() |
1
478
我找到了这个解决方案 here 这对我来说简单得多:
在这里,我对string对象进行了扩展:
使用示例:
这将返回格式为“15:30”的时间 |
![]() |
2
114
更快的方法如果重复执行此操作,例如在数组中填充值,并且性能是一个因素,则以下方法可以为您提供 100倍优势 在速度( jsPerf )而不是目前在互联网上讨论的其他解决方案。基本思想是为pad函数提供一个完全填充的空字符串作为缓冲区。pad函数只是附加到要添加到此预填充字符串(一个字符串concat)的字符串,然后将结果切片或修剪为所需的长度。
例如,要将一个数字归零,将其填充到10位,
要用空白填充字符串,所以整个字符串是255个字符,
性能试验见 杰斯普夫 测试 here .
这比ES6快
|
![]() |
3
49
http://www.webtoolkit.info/javascript_pad.html
它的可读性更强。 |
![]() |
4
39
这里有一个递归的方法。
一个例子…
|
![]() |
5
29
|
![]() |
6
22
使用ecmascript 6方法 String#repeat ,pad函数简单如下:
|
![]() |
7
19
ecmascript 2017向字符串原型添加了一个padstart方法。此方法将用空格填充字符串到给定长度。此方法还接受将用于填充的可选字符串,而不是空格。
还添加了以相同方式工作的padend方法。 有关浏览器兼容性(和有用的多边形填充),请参见 this link . |
![]() |
8
14
这两种解决方案的关键在于
|
![]() |
9
13
使用ecmascript 6方法 String#repeat 和 Arrow functions ,pad函数简单如下:
编辑: 意见建议:
这样,当
编辑2: 意见建议:
这样,可以对字符串和非字符串使用相同的函数。 |
![]() |
10
10
使用默认值填充 我注意到我主要需要padleft来进行时间转换/数字填充 所以我写了这个函数
这个简单的函数支持 数 或 弦 作为输入 默认焊盘为 2字符 默认字符为 零 所以我可以简单地写
如果我添加第二个参数(焊盘宽度)
第三个参数(pad char)
编辑
@香蕉酸
如果传递未定义的值或0长度的字符串,则
如建议
但这也可以用更短的方式实现。
还可以与:
如果你想用这两种方法都可以:
它可以不使用slice以更短的方式编写。
现在如果你试着用2来填充“averylongword”…这不是我的问题。 说我给你小费。 大多数情况下,如果你垫你做相同的价值N次。 在循环中使用任何类型的函数都会减慢循环的速度!!!! 所以如果你只想在长列表中留下一些数字,不要用函数来做这个简单的事情。 使用这样的东西:
如果不知道基于数组中的数字的最大填充大小。
|
![]() |
11
9
|
![]() |
12
6
接受塞缪尔的想法,向上看。还记得一个旧的sql脚本,我尝试过:
它适用于我能想象的所有情况:
|
![]() |
13
4
这是我使用的一个简单函数。
例如:
|
![]() |
14
4
一小段路:
例子:
返回:“001234” |
![]() |
15
4
填充字符串已在新的javascript版本中输入。
https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/String/padStart 如果需要自己的函数,请检查以下示例:
|
![]() |
16
3
es7 现在只是草稿和建议,但是如果您想跟踪与规范的兼容性,您的pad功能需要:
从我的polyfill库,但应用你自己的原型扩展尽职调查。
|
![]() |
17
3
这里有一个简单的答案,基本上只有一行代码。
确保填充的字符数(此处为零)至少与预期的最小长度相同。因此,实际上,将其放在一行中,在本例中得到“00035”的结果是:
|
![]() |
18
2
与简单的字符串concat相比,数组操作非常慢。当然,您的用例的基准测试。
|
![]() |
19
2
一种变体 @Daniel LaFavers' 回答。
例如:
|
![]() |
20
2
现在是2014年,我建议使用javascript字符串填充函数。哈! 裸骨:带空格的右垫
花式:带选项的便笺簿
用法(花式):
|
![]() |
21
2
如果您不介意包括一个实用程序库,lodash库 _.pad, _.padLeft and _.padRight 功能。 |
![]() |
22
2
我认为最好避免递归,因为它代价高昂。
|
![]() |
23
1
下面是一个javascript函数,它使用自定义符号添加指定数量的填充。这个函数有三个参数。
padMe --> string or number to left pad pads --> number of pads padSymble --> custom symble, default is "0"
/* Here are some results: > leftPad(1) "1" > leftPad(1, 4) "0001" > leftPad(1, 4, "0") "0001" > leftPad(1, 4, "@") "@@@1" */ |
![]() |
24
1
然后你可以:
|
![]() |
25
1
如果你只想一个非常简单的黑一行填充,只需做一个字符串所需的最大填充长度的填充字符,然后子字符串的长度,你想填充。
示例:填充存储在
结果:
如果你想对输入的数字做同样的操作,只需调用
|
![]() |
26
1
又一个结合了两种解决方案的尝试
|
![]() |
27
1
一个朋友问起使用javascript函数向左填充。这变成了我们中的一些人之间的一个小小的努力,在聊天代码高尔夫它。结果是:
它确保要填充的值是一个字符串,然后如果它不是所需总长度的长度,它将填充它一次,然后递归。下面是更合理的命名和结构
我们使用的示例是确保数字被填充
|
![]() |
28
1
有点晚了,不过我还是想和你分享一下。我发现向对象添加原型扩展非常有用。这样我就可以左键或右键输入数字和字符串。我有一个模块与我的脚本中包含的类似实用程序。
~~~~~~~~~~~~~~~ jsaddons.js~~~~~~~~~~~~
|
![]() |
29
1
|
![]() |
30
1
使用padstart
https://developer.mozilla.org/docs/Web/JavaScript/Referencia/Objetos_globales/String/padStart |
![]() |
Softly · 单选按钮未按预期取值 1 年前 |
|
SlickRed · 我无法使用JS关注HTML元素 1 年前 |
![]() |
assembler · Nextjs没有处理发布请求 1 年前 |
|
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
![]() |
Toniq · javascript为php保存多维数组 1 年前 |