在for循环中构建数组

时间:2012-03-20 02:21:32

标签: javascript

我正在尝试创建一个基本的for循环,它创建了一个数组,但在如何构造它时有点困惑......这是数组的一个例子:

var list = [
{id: "135", data: [9,129,345, 687]},
{id: "239", data: [596,382,0,687,33467]}
];

这些只是示例数字,但我需要在for循环中进行(因为数字来自变量,但我不知道我是怎么做的= /

我知道如何使用for循环创建一维数组,但不知道这个复杂的任何东西..

是否有人有一个示例循环来显示其结构如何?

2 个答案:

答案 0 :(得分:2)

编辑:了解您的意思。

这有点伪,表明你将如何创建一个像有问题的数组

var list = [];

for(var i = 0; i < objectcount; i++){

    // Here you need some way to get the ID for each should be dependant on 'i'
    var obj = {id: 10, data: []}; object
    for(var j = 0; j < datacount; j++){

        // You need some way to retrieve each data number, dependent on 'j'
        obj.data.push(somenumber) 
    }

    list.push(obj)
}

OLD ANSWER

假设您要在每个对象中创建一个包含所有数据数组的数组,请尝试以下方法:

var newarray = [];

// This will iterate through each object in the list array.
for(var i = 0; i < list.length; i++){

    // This will iterate though each value in the data array 
    // of the current list object
    for(var j = 0; j < list[i].data.length; j++){

        // Then you add that value to 'newarray'
        newarray.push(list[i].data[j]);
    }
}

答案 1 :(得分:0)

不确定这是否是您要求的,但如图所示访问列表对象

alert(list[0].id);
alert(list[0].data[0]);

你将分别得到135和9。

这里有for循环来查看它们:

for (i=0; i<list.length; i++) {
    alert (list[i].id);
    for (j=0; j<list[i].data.length; j++) {
        alert (list[i].data[j]);
    }
}