我正在寻找一个简单的公共方法或运算符,它允许我重复一些字符串n次.我知道我可以使用for循环来编写它,但我希望在必要时避免使用循环,并且某处应该存在一个简单的直接方法.
String str = "abc";
String repeated = str.repeat(3);
repeated.equals("abcabcabc");
Run Code Online (Sandbox Code Playgroud)
相关:
repeat string javascript 通过重复给定次数的另一个字符串来创建NSString
编辑
当他们不是完全必要的时候我试着避免循环,因为:
即使它们隐藏在另一个函数中,它们也会增加代码行数.
读我的代码的人必须弄清楚我在循环中做了什么.即使它被评论并且具有有意义的变量名称,它们仍然必须确保它没有做任何"聪明"的事情.
程序员喜欢把聪明的东西放在for循环中,即使我把它写成"只做它想要做的事情",这并不排除有人出现并增加一些额外的聪明"修复".
他们经常容易出错.对于涉及索引的循环,往往会产生一个错误.
For循环经常重用相同的变量,增加了很难找到范围错误的机会.
For循环增加了bug猎人必须看的地方数量.
所以,我的问题已由其他人在其Java表单中提出:Java - 创建一个具有指定长度并填充特定字符的新String实例.最佳方案?
...但我正在寻找它的JavaScript等价物.
基本上,我想根据每个字段的"maxlength"属性动态填充带有"#"字符的文本字段.因此,如果输入有maxlength="3",则该字段将填充"###".
理想情况下会有像Java这样的东西StringUtils.repeat("#", 10);,但到目前为止,我能想到的最好的选择是循环并追加"#"字符,一次一个,直到达到最大长度.我无法摆脱这种感觉,即有一种比这更有效的方法.
有任何想法吗?
仅供参考 - 我不能简单地在输入中设置默认值,因为"#"字符需要清除焦点,如果用户没有输入值,则需要在模糊时"重新填充".这是我关注的"补充"步骤