9

我有一个像var arr = { 30,80,20,100 };

现在我想迭代上面的数组并将迭代的单个值添加到一个函数返回语句中,例如

function iterate()
{
    return "Hours" + arr[i];
}

我曾尝试过以下方法

function m()
{
    for(var i in arr)
    {
        s = arr[i];
    }
    document.write(s);
}

上面的代码将只给出一个值,即数组中的最后一个值。但我想迭代所有的值,比如

30---for first Iteration
80---for second Iteraton

Any help will be appreciated
4

2 回答 2

2

使用长度属性而不是语句进行迭代,for ... in并从循环内部写入数组值。

for (var ii = 0, len = arr.length; ii < len; ii++) {
  document.write(arr[ii]);
}
于 2012-05-22T15:56:45.870 回答
1

那是因为您的 write 语句在循环之外。你不想这样吗?

function m(arr) {
    for (var i = 0; i < arr.length; i++) {
        s = arr[i];
        document.write(s);
    }

}​

另外,不要使用 in 因为它会给你数组的所有属性。利用array.length

于 2012-05-22T15:56:43.713 回答