在javascript&中循环遍历数组印花

时间:2014-08-13 20:17:40

标签: javascript jquery arrays if-statement for-loop

我知道我的问题有很多混乱,我是javascript的初学者,所以请耐心等待。我正在使用java脚本循环遍历120个数字的数组,我试图在某些条件下打印出某些单词。当数组中的数字可以被3整除时,我想要打印Go,当它被5整除时,我想打印GoGo,当它被3和5整除时,我打印出GOGOGadget。

我在for循环中嵌套了一个if语句,我还想将打印输出附加到DOM。

HTML:

<html>
</head>
  <body>
    <h1>Javascript printout</h1>



  <button>
    Click Me
  </button>
  <p class="printout">0</p>

  </body>
</html>

JavaScript:

( document ).ready(function() {
   $("button").click(function(){
     var Count = ["1", "2", "3","4"];  
     for (var i = 0; i > 4; i++) {
       if (Count%1) {
         $("printout").text("Go");
         $("printout").append(Go);
       }
     }
   });
});

3 个答案:

答案 0 :(得分:1)

我在这里看到一些问题/困惑点。

1)所有整数都可以被1整除,并且你的输入集只显示整数,所以当你想要将非整数与整数区分开来时,或者如果这里存在误解时,我不清楚它是什么

2)您的情况与您尝试检查的情况相反,即1%1 === 0,因此如果Count为1,则情况将失败(0为{{3} })。

3)你从未真正检查偶数,即可被2整除。

在此示例中,您永远不会打印任何内容,因为您的输入全部可以被1&#34;整除,至少是javascript %运算符的语义。

答案 1 :(得分:0)

您的情况不正确。

anything%1将返回0,这在JS中是假的。所以在这种情况下,该分支将从不运行。你真正想要的是Count[i]%1==0

答案 2 :(得分:0)

  1. Count是不必要的,因为你的i从0开始,每次迭代都会增加1。
  2. $("printout")正在寻找像这样的DOM元素 - &gt; <printout></printout>。你可能想要的是$("#printout")$(".printout")分别找到一个ID或类。
  3. 不要使用追加,只需更改每个条件的文字。
  4. (Count % 1)评估为0。这是javascript中的假值。你想要的是((Count % 1) === 0),因为0 === 0是一个真正的价值。但请记住,请勿使用Count,只需使用i
  5. 所有整数都可被1整除。使您的第一个条件为i === 1
  6. 将for循环的条件从i > 4更改为i < 4。否则它甚至不会进入循环。
  7. 你甚至想做什么?这个问题几乎是不可理解的。

  8. for (var i = 0; i < 4; i++) {
    
      if (i === 1) {
        $("printout").text("Go");
      } else if ((i % 2) === 0) {
        $("printout").text("GoGo");
      } else if ((i % 3) === 0) {
        $("printout").text("GoGoGadget");
      }
    }