javascript - for a=1;a<100;a++ 然后当 a 是 3 的倍数时创建一个 <br>

标签 javascript html

我试图打印一个数字1到3,当它变成3的倍数时,它将创建一个<br>然后继续直到遇到数字185。
我尝试了这段代码,但它给了我一个错误的答案:

for (a = 1; a <= 185; a++) {
  document.write(" ", a);
  if (a % 3) {
    document.write("<br>");
  }
}

但它给了我这个答案:

 1<br>
 2<br>
 3 4<br>
 5<br>
 6 7

而不是:

 1 2 3<br>
 4 5 6<br>
 7 8 9

最佳答案

这与您想要的相反并打印出 <br>a 不是三的倍数。你想要的是:

if(a % 3 === 0)

原因

if的 body 当括号之间的表达式为“truthy”(除 0falseundefinednull 、空字符串或 NaN 之外的任何内容)时执行。当a不是 3 的倍数,a % 3将是12“真实”,当它是 3 的倍数时,a % 3将是 0,这是“假”。你想要的恰恰相反。

鉴于上述解释,您可以使用这个:

if (!(a % 3))

,但我想说上面的较长版本更清楚地表达了您的意图,我建议使用它。

关于javascript - for a=1;a<100;a++ 然后当 a 是 3 的倍数时创建一个 <br>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28162957/

相关文章:

javascript - Vue 路由器 : hide parent template when child is open

javascript - 如何通过 `number_entered_by_user` 事件在 Javascript 中传递 `onfocusout(number_entered_by_user)`

javascript - 如何通过 JavaScript 对表格进行排序之前强制浏览器显示模式?

html - 将 img 定位在容器外但在 Bootstrap 3 的行内

javascript - 根据自定义属性获取选项元素

javascript - 修改 MarkerClusterer 图标以获得最高分,而不是标记计数

javascript - 盲目防止 Javascript 全局变量冲突

javascript - 如何在 NodeJS 子进程中创建终端实例?

javascript - 通过我自己的类克隆另一个元素的内容和顺序

javascript - 将完成的列表项发送到列表底部