因此,作为一个相对较新的程序员,我正在尝试创建一个非常简单的 ASCII 刽子手游戏。我试图弄清楚如何根据所选单词的长度创建一串下划线 (_)。
例如,以单词 Kaiser 为例,我想使用 'word.length(where word = "Kaiser")并将其转换为“
_ _ _ _ _ _`” .提前致谢!
最佳答案
我的第一个猜测是这样的东西会起作用。
var underscored = string.split('').map(function(char) {
return char = '_ ';
}).join('');
使用split
函数获取字符串中的每个字符,并使用map
函数更改每个字符的状态。然而,这只会给我们一个数组。我们需要再次进行类型转换,将其变回字符串。为此,我们可以使用 join
方法。我们加入的分隔符只是一个空字符串''
。
另一种可能性是使用替换函数
var underscored = string.replace(/./g, '_ ');
这里的正则表达式很简单。句点.
表示任何字符。 global(g)
标志表示查找前一个正则表达式的所有实例。
这个函数的第二个参数就是我们希望这些字符变成什么样子。因为我们想要在下划线之间留一个空格,所以这将是 _
。
请注意,replace
方法不是破坏性的。换句话说,它不会修改原始数组。您需要将其存储在一个单独的变量中。因为如果你再次调用string
,就会返回kaiser
。
关于javascript - 在 JavaScript 中根据长度将字符串转换为一系列下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34256096/