Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中根据长度将字符串转换为一系列下划线_Javascript_String - Fatal编程技术网

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

在JavaScript中根据长度将字符串转换为一系列下划线,javascript,string,Javascript,String,所以,作为一个相对较新的程序员,我正在尝试创建一个非常简单的ASCII刽子手游戏。我正试图找出如何根据所选单词的长度创建一个下划线(u)字符串 例如,以Kaiser这个词为例,我想取'word.length(其中word=“Kaiser”),并将其转换为“”。提前谢谢 我的第一个猜测是这样的东西会奏效 var underscored = string.split('').map(function(char) { return char = '_ '; }).join(''); 使用spli

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


例如,以Kaiser这个词为例,我想取'word.length(其中word=“Kaiser”)
,并将其转换为“
”。提前谢谢

我的第一个猜测是这样的东西会奏效

var underscored = string.split('').map(function(char) {
  return char = '_ ';
}).join('');
使用
split
函数获取字符串中的每个字符,并使用
map
函数更改每个字符的状态。然而,这只会给我们一个数组。我们需要再次执行类型转换以将其转换回字符串。为此,我们可以使用
join
方法。我们加入的分隔符只是一个空字符串
'

另一种可能性是使用replace函数

var underscored = string.replace(/./g, '_ ');
这里的正则表达式非常简单。句点
表示任何字符。
global(g)
标志表示查找前一个正则表达式的所有实例

这个函数的第二个参数是我们希望这些字符变成什么。因为我们需要在下划线之间留一个空格,所以这将是
\uu


请注意,
replace
方法不是破坏性的。换句话说,它不会修改原始数组。您需要将其存储在单独的变量中。因为如果再次调用
string
,将返回
kaiser

我的第一个猜测是这样的东西会奏效

var underscored = string.split('').map(function(char) {
  return char = '_ ';
}).join('');
使用
split
函数获取字符串中的每个字符,并使用
map
函数更改每个字符的状态。然而,这只会给我们一个数组。我们需要再次执行类型转换以将其转换回字符串。为此,我们可以使用
join
方法。我们加入的分隔符只是一个空字符串
'

另一种可能性是使用replace函数

var underscored = string.replace(/./g, '_ ');
这里的正则表达式非常简单。句点
表示任何字符。
global(g)
标志表示查找前一个正则表达式的所有实例

这个函数的第二个参数是我们希望这些字符变成什么。因为我们需要在下划线之间留一个空格,所以这将是
\uu


请注意,
replace
方法不是破坏性的。换句话说,它不会修改原始数组。您需要将其存储在单独的变量中。因为如果再次调用
string
,将返回
kaiser

您不必替换任何内容,只需根据第一个单词的长度创建新字符串即可,例如:

var underscore_word = Array(word.length).join("_ ");
请看


希望这有帮助。

您不必替换任何内容,只需根据第一个单词的长度创建新字符串,例如:

var underscore_word = Array(word.length).join("_ ");
var str = "Kaiser";
var resStr = "";
for (i = 0; i < str.length; i++) {
    resStr = resStr + " _";
}
请看

希望这有帮助。

var str=“Kaiser”;
var str = "Kaiser";
var resStr = "";
for (i = 0; i < str.length; i++) {
    resStr = resStr + " _";
}
var resStr=“”; 对于(i=0;i
var str=“Kaiser”;
var resStr=“”;
对于(i=0;i
啊,比我强,我建议使用
.replace()
或将
.split
和正则表达式结合使用:
string.split(/./).join(“')
)我向帕维尔道歉。我只是注意到了。我将在
映射方法中解决这个问题。还有一个:
数组(string.length)。join(“')
啊,我建议使用
.replace()
或将
.split
和正则表达式结合起来:
string.split(/./).join(“')
)我向帕维尔道歉。我只是注意到了。我将在
map
方法中解决这个问题,还有一个:
Array(string.length)。join(“”)
Where@NathanP??我看不出来。真的,评论不是答案@ZakariaAcharki我同意这一点,我不希望每个人在发帖前都阅读每一条评论。我不知道你为什么被否决了,这是一个合法且非常有效的解决方案??我看不出来。真的,评论不是答案@ZakariaAcharki我同意这一点,我不希望每个人在发帖前都阅读每一条评论。我不知道你为什么会被否决,这是一个合法且非常有效的解决方案。它就像
var u=new Array(“Kaiser.length”).join(“''')
)一样简单。基于这个答案,这看起来很像它的复制品,就像
var u=new Array(“Kaiser.length”).join(“'
,基于这个答案,这看起来很像一个复制品