我正在尝试创建一个基本的for循环,它创建了一个数组,但在如何构造它时有点困惑......这是数组的一个例子:
var list = [
{id: "135", data: [9,129,345, 687]},
{id: "239", data: [596,382,0,687,33467]}
];
这些只是示例数字,但我需要在for循环中进行(因为数字来自变量,但我不知道我是怎么做的= /
我知道如何使用for循环创建一维数组,但不知道这个复杂的任何东西..
是否有人有一个示例循环来显示其结构如何?
答案 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]);
}
}