在打印出数组中随机生成的数字后,在2个偶数之间添加一个破折号

时间:2016-02-21 21:57:56

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

所以我一直试图在每个偶数之间添加一个短划线,但它没有输出短划线。我做错了什么?

生成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++;
}

1 个答案:

答案 0 :(得分:1)

以下是我将如何操作,使用临时变量来存储最后一个值是否为偶数,并将其与当前值进行比较。

var length = mainarr.length,
    lastNumberEven = false,
    thisNumberEven,
    tmpString = '';
for (i = 0; i < length; i++) {
    if ((thisNumberEven = mainarr[i] % 2 == 0) && lastNumberEven) {
        tmpString += '-';
    }
    tmpString += mainarr[i];
    lastNumberEven = thisNumberEven;
}
main.innerHTML = tmpString;