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