需要显示一个角色' - '基于Javascript中的字符串长度

时间:2016-10-07 05:18:15

标签: javascript html

我正在尝试制作一个刽子手游戏,我想做的是制作减号/破折号符号' - '出现从数组中随机选择的字符串的字符串长度的次数。 到目前为止我所拥有的是: 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)意味着当我尝试它们时这些线条会在一起。

3 个答案:

答案 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, '-')