我正在尝试制作一个刽子手游戏,我想做的是制作减号/破折号符号' - '出现从数组中随机选择的字符串的字符串长度的次数。 到目前为止我所拥有的是: HTML:
<h1>Hangman</h1>
<br>
<br>
<div style="margin-left: 100px;">
<p id = "word"> </p>
<div id="image"></div>
</div>
然后在我的js文件中我有:
var randomWords = ['rock','paper','scissors'];
document.onkeyup = function(event) {
var chosenWord = randomWords[Math.floor(Math.random()*randomWords.length)];
// var blankLines = "";//(1)
for (int x = 0; x < chosenWord.length; x++)
{
// blankLines += '- '; //(1)
// document.getElementById("word").innerHTML = blankLines;
// document.getElementById("word").innerHTML = ;
}
//document.getElementById("word").innerHTML = blankLines;//(1)
没有一个注释掉的方法有效。 (1)意味着当我尝试它们时这些线条会在一起。
答案 0 :(得分:1)
试试这个,
var dash='-', x="",chosenWord="sdsjdj";
for (var i = 0; i < chosenWord.length; i++)
{
if(i!=(chosenWord.length-1)) {
x=x+dash+" ";
}
else {
x=x+dash;
}
}
console.log(x);
答案 1 :(得分:0)
如果您定位ES6,则只需使用repeat
功能:
"-".repeat(chosenWord.length);
如果你的目标是非ES6(旧浏览器),你可以像下面这样做“黑客”:
Array(chosenWord.length).join("-")
或者您可以使用更具描述性的代码:
var dashes = "";
for (var i = 0; i < chosenWord.length; i++) {
dashes = dashes + "-";
}
答案 2 :(得分:0)
如果你没有针对ES6,那就简单了:
chosenWord.replace(/./g, '-')