根据JavaScript中的长度将字符串转换为一系列下划线

Kai*_*elm 1 javascript string

因此,作为一个相对较新的程序员,我正在尝试创建一个非常简单的ASCII刽子手游戏.我正在试图找出如何根据所选单词的长度创建一个下划线(_)的字符串.

例如,采取凯撒这个词,我想采取'word.length(where word ="Kaiser")and convert it to "_ _ _ _ _ _`".提前谢谢!

Ric*_*ton 6

我的第一个猜测就是这样可行.

var underscored = string.split('').map(function(char) {
  return char = '_ ';
}).join('');
Run Code Online (Sandbox Code Playgroud)

使用该split函数获取字符串中的每个字符,并使用该map函数更改每个字符的状态.但是,这只会给我们一个数组.我们需要再次执行类型转换以将其转换回字符串.为此,我们可以使用该join方法.我们加入的分隔符只是一个空字符串''.

另一种可能性是替换功能

var underscored = string.replace(/./g, '_ ');
Run Code Online (Sandbox Code Playgroud)

这里的正则表达式非常简单.句号.表示任何字符.该global(g)标志表示查找前一个正则表达式的所有实例.

这个函数的第二个参数就是我们想要的这些字符.由于我们需要下划线之间的空格,这将是_.

请注意,该replace方法不具有破坏性.换句话说,它不会修改原始数组.您需要将其存储在单独的变量中.因为如果string再次打电话,kaiser将被退回.