如何重复空格

时间:2015-10-06 12:59:20

标签: javascript google-chrome

我正在尝试获取类似下面的字符串:

  

[==== ]

为此,我使用此代码:

'[' + '='.repeat (4) + ' '.repeat (4) + ']'

...但我得到[==== ];也就是说,所有空间都被压成一个。我在Google Chrome控制台中检查了此代码,确实' '.repeat(25)只生成了一个空格。如何让repeat真正产生多个空间?

我在the manual找不到任何相关内容。

2 个答案:

答案 0 :(得分:6)

这是Chrome开发人员工具的一个问题。空格可以重复,但它们显示为一个字符,这是错误的:

  

您可以检查结果:

(' ' + ' ').length
// => 2

这是Node.js REPL的一个例子:

总之,您的代码确实有效,但Google Chrome的控制台无法正确显示结果。

如果您正在谈论不使用等宽字体的HTML元素中的显示,请使用@Jamiec的解决方案,使用non-breaking spaces

'[' + '='.repeat (4) + ' '.repeat(4) + ']'

作为@James Thorpe,此 一个bug in Chrome已得到修复。可能我们会在更新浏览器版本时获得修复。

答案 1 :(得分:2)

浏览器会折叠多个空格,为了强制它,您可以使用non-breaking spaces

因此,在您的情况下,您可以使用

' '.repeat(4)

(可以说调试控制台不应该崩溃空白,但在你的情况下似乎确实如此)