显示循环迭代

时间:2016-08-29 13:38:20

标签: javascript html arrays for-loop

这是一个基本的循环问题。如果我有一个简单的for循环,例如:

function printMe()
{
    for(var i = 0; i < 5; i++)
    {
        document.getElementById("text").innerHTML = i;
    }
};

printMe();

当我调用该函数时,它只打印循环5中的最后一个数字。但是,如何让它在循环迭代中打印,以便最终列表为0,1,2,3,4,5 < / p>

2 个答案:

答案 0 :(得分:1)

由于您使用的是innerHTML,因此您不断覆盖innerHTML = i的值。这意味着当循环完成运行时,该值将是i的最后一个值。

您希望使用+=i附加到现有值,并且您可能希望在此之后添加空格,以便它们不会粘在一起。

 document.getElementById("text").innerHTML += i + " ";

这是

的简写符号
 document.getElementById("text").innerHTML = document.getElementById("text").innerHTML + i + " ";

因此:获取旧值,添加新值,再次将其存储在innerHTML中。

答案 1 :(得分:0)

问题是你将i分配到innerHTML每个循环(不附加+=),所以预期的行为是唯一的最后一个输出

尝试以下将是正常的

function printMe()
{
    for(var i = 0; i < 5; i++)
    {
        var innerHTML = document.getElementById("text").innerHTML;
        document.getElementById("text").innerHTML += (innerHTML.length <= 0 ? "" : ", ") + i;
    }
};

 printMe();

如果您还要打印5,还必须将for循环更改为for (var i = 0; i < 6; i++)for (var i = 0; i <= 5; i++)

https://jsfiddle.net/v1jnLw23/

上试试
相关问题