如何在循环外部使用数组中收集的循环值以供将来使用

时间:2016-08-05 06:11:15

标签: javascript arrays

从表单中获取多个复选框的值,并收集到一个数组中,该数组现在在当前for循环中可用,但我希望该数组在循环外用于将来的目的。 现在我只在循环中获取所有值。 但是当我在for循环外打印相同的数组时,它只显示数组中的最后一个值。

 <script>
    function submitform(path){
            var ele = document.getElementsByClassName('del');
            var arr = new Array();
            for(var i=0 ; i< ele.length ; i++ )
            {
                arr['arr2'] = ele[i].value;
            }
           console.log(arr);
        }
</script>

3 个答案:

答案 0 :(得分:4)

问题是你在for循环的每个循环中用另一个值初始化同一个变量,执行arr['arr2'] = ele[i].value;

结果,您的数组最后只包含一个值。

解决方案:使用for循环的增量变量i作为数组索引。

function submitform(path){
    var ele = document.getElementsByClassName('del');
    var arr = [];
    for(var i=0 ; i< ele.length ; i++ )
    {
        arr[i] = ele[i].value;
    }
    console.log(arr);
}

答案 1 :(得分:1)

&#13;
&#13;
function submitform(path){
        //var ele = document.getElementsByClassName('del');
        var ele = [5, 4, 3, 2, 1];
        var arr = new Array();
        for(var i=0 ; i< ele.length ; i++ )
        {
            arr.push(ele[i]);
        }
       console.log(arr);
    }
 submitform();
&#13;
&#13;
&#13;

答案 2 :(得分:0)

使用push创建一个循环值数组并在循环外使用新数组

var OurElements = document.getElementById("ID");
var arr = [];//Make empty array
for (i=0;i<=OurElements.length;i++){
    arr.push(OurElements[i]);
}
console.log(arr);//Get array on console
console.log(arr.stringify);//This return array as strings, then you can save all data on variable