繁体   English   中英

带for循环的数组检查

[英]Array check with for loop

1.嘿,我该如何分开? 2.对此很抱歉,但是已经让我头疼了一段时间,如何使此代码不间断地单独编写句子呢?

<html>
  <body>
    <script type="text/javascript">
      var x=[15,22,28,30,25,11,12,29,27,26];//right numbers
      var c=1;
      var e=0;
      var i=0;
      for (c=1;c<=10;c++) {
        var y=Number(prompt("enter number from 10 to 30",0));
        for(i=0;i<=9;i++) {
          if(y==x[i]) {//checking every number in array
            document.write("u right.<br>");
            e=e+1;
          }
          else {
            document.write("u wrong.<br>");//this writes every time it goes trough the loop,i tried breaking,but it just quits the loop on first number in array,i tried continue,no luck
          }
        }
      }
         if(e<5) {//amount of time you guessed right
          document.write("u lose ");
        }
        else {
          document.write("u win");
        }
    </script>
  </body>
</html>
<html>
        <body>
        <script type="text/javascript">
        var x=[15,22,28,30,25,11,12,29,27,26];//right numbers
        var c=1;
        var e=0;
        var i=0;
        for (c=1;c<=10;c++)
        {
        var y=Number(prompt("enter number from 10 to 30",0));
        var right = false;
        for(i=0;i<=9;i++)
          {
            if(y==x[i]) //checking every number in array
           {
             right = true;
           }
          }
          if (right)
           {
             e++;
             document.write("u right.<br>");
           }
           else {
                document.write("u wrong.<br>");
           }
         }
       if(e<5)//amount of time you guessed right
       {
       document.write("u lose ");
       }
      else
      {document.write("u win");}



     </script>
     </body>
     </html>

您的代码可以在许多方面进行优化:

    <html>
  <body>
        <script type="text/javascript">
          var x=[15,22,28,30,25,11,12,29,27,26];//right numbers
          var c=1;
          var e=0;
          var c=0;
          while (c < 10) 
          {
            c++;
            var y=Number(prompt("enter number from 10 to 30",0));
            if (x.indexOf(y) != -1)
            {
              e++;
              document.write("u right.<br>");
            }
            else {
              document.write("u wrong.<br>");
            }
          }
          if(e<5)//amount of time you guessed right
          {
            document.write("u lose ");
          }
          else
          {
            document.write("u win");
          }
     </script>
   </body>
</html>

使用数组的indexOf方法检查值在数组中是否可用。

如果值不可用,则返回-1,否则返回该值的位置。

<html>
  <body>
    <script type="text/javascript">
      var x = [15,22,28,30,25,11,12,29,27,26];
      var e = 0;
      for (var c=1;c<=10;c++) {
        var y = Number(prompt("enter number from 10 to 30",0));        
        x.indexOf(y) > 0?(document.write("u right.<br>"),e++):document.write("u r wrong.<br>");
      }
      e<5?document.write("u lose "):document.write("u win");
    </script>
  </body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM