如何循环一个数组,每次下一个3?

时间:2012-12-06 00:08:43

标签: javascript arrays loops

我有一个像这样的对象数组 - [{first},{second},{third},{forth},{fifth},{sixth}}

如何遍历数组,并获取(对于每个循环)该数组的下三个元素?

例如,对于第一个循环,我将获得三个引用{first}{second}{third}的变量,对于第二个循环,我将获得引用{的变量{1}},{forth}{fifth} ... 等等...

6 个答案:

答案 0 :(得分:3)

for (i = 0; i < arr.length; i += 3) {
    var a = arr[i];
    var b = arr[i + 1];
    var c = arr[i + 2];
    ...
}

答案 1 :(得分:2)

这可能有效:

var array = ['one', 'two', 'three', 'four', 'five', 'six', 'seven'];
for(i = 0; i < array.length; i+=3){
    var first = array[i];
    var second = (array[i+1]) ? array[i+1] : null;
    var third = (array[i+2]) ? array[i+2] : null;
}

如果数组中不存在索引,则变量将为nullFiddle

答案 2 :(得分:1)

接受答案的另一个版本是:

var i = 0, len = arr.length;
while (i < len) {
    var a = arr[i++];
    var b = arr[i++];
    var c = arr[i++];
    ...
}

如果数组是稀疏的,或者长度不是3的偶数倍,则可能需要在读取它们的值之前测试元素是否存在,并在递增计数器时将其考虑在内。

答案 3 :(得分:0)

试试这个:

var i, j;
for (i = 0; i < 4; i += 1) {
   // Loop
}
for (j = i; j < arr.length; j += 1) {
   // Second loop
}

答案 4 :(得分:0)

在i之后为元素添加1,为之后的元素添加2。

var ary1,ary2,ary3;

for(var i=0;i<size-3;i+=3){
  ary1 = myary[i];
  ary2 = myary[i+1];
  ary3 = myary[i+2];
}

答案 5 :(得分:0)

这是非常基本的

var array; // your array (let's pretend it's already populated)

for (i = 0; i < array.length - 3; i += 3) {
    element1 = array[i];
    element2 = array[i+1];
    element3 = array[i+2];
}

我没有处理你没有数组中三个对象的多个对象的情况,但这应该让你开始。