【发布时间】:2016-02-21 21:57:55
【问题描述】:
所以我一直在尝试在每个偶数之间添加一个破折号,但它没有输出破折号。我做错了什么?
生成20个随机数并放入数组
var i = 0;
mainarr = [];
do {
mainarr[i]=parseInt(Math.random()*10);
i++;
}
while (i<20);
打印 20 个数字并在每个偶数之间添加破折号
var endVal =20;
for (i=0; i< endVal ;)
{
main.innerHTML += mainarr[i];
if ((i%2)==0) {
i++;
if ((i % 2)==0)
main.innerHTML += "-";
}
else
i++;
}
【问题讨论】:
-
您基本上是在循环中说“如果
i是偶数,则增加它,如果它又是偶数,则添加破折号”。如果i是偶数,i+1不可能是偶数... -
啊我明白你在说什么..所以我去 i -1 所以我可以回去添加连字符。无论如何,当我运行脚本时连字符都不会显示
-
从不 ever 在
innerHTML上使用+=样式操作 - 每个操作都需要浏览器序列化给定元素的内容,然后更新字符串,然后将它再次回到 DOM 中! -
只是丢失第二个
if((i % 2)==0)语句(你已经检查过它是否是偶数..)
标签: javascript arrays loops if-statement for-loop