如何使用JavaScript构建数组数组?

时间:2013-01-31 17:05:22

标签: javascript jquery arrays

我的输出应该是这样的:(例如数据)

myArray = [ [otherArray0], [otherArray1], [otherArrayN] ]

我的尝试:

var myArray = [];
var num = 50;
for (i=0; i<num;i++)
{

    var a = 0;
    $('#divID .class select[value!=""]').each(function() //get values from a select
    {
        var otherArray+i = []; //each for cycle is a new "sub array"
        otherArray+i[a] = $(this).val(); //store in array the values from select
        a++
     })
}

我在想什么?

4 个答案:

答案 0 :(得分:7)

首先

otherArray[i] = []; // create a new array

然后

otherArray[i][a] = $(this).val();

但是你的代码可以变得更简单

var myArray = [];
var num = 50;
for (i=0; i<num;i++)
{
    myArray.push($.map($('#divID .class select[value!=""]'),function(e){
        return e.val();
    }));
}

答案 1 :(得分:2)

设置空数组([])然后使用push填充它,然后push将数组放到最终数组上的模式应该会带你走远。

var myArray = [];
for (int i=0; i<50; i++)
{
    var otherArray = [];
    $(/*...*/).each(function()
    {
       var val = /*...*/;
       otherArray.push(val);
    });
    myArray.push(otherArray);
}

答案 2 :(得分:1)

在许多行之间阅读,我认为这就是你想要的:

var myArray = [];
$("#divID .class select").each(function() {
    var subarray = [];
    $("option[value!='']", $(this)).each(function() {
        subarray.push($(this).val());
    });
    myArray.push(subarray);
}
然后

myArray将包含:

[[sel1Opt1, sel1Opt2, sel1Opt3, ...], [sel2Opt1, sel2Opt2, sel3Opt3, ...], ...]

答案 3 :(得分:0)

var num = 50;
for (i=0; i<num;i++)
{
var myArray[i] = array ();
var a = 0;
$('#divID .class select[value!=""]').each(function() //get values from a select
{
    myArray[i].push( $(this).val()); //store in array the values from select

})
}