在javascript中使用for循环的特定迭代

时间:2014-07-11 08:48:16

标签: javascript

我有一个返回相同数据的ajax调用

obj[0],obj[1],obj[2],obj[3],obj[4],obj[5],obj[6],obj[7],obj[8],obj[9],obj[10],obj[11]....

所以我只想采取obj[0]-obj[3] and obj[4]-obj[7] and obj[8]-obj[11]...

var iterate=0;

for(i=0 ;i<obj.length ; i++)
 {
 alert(obj[iterate].mydata);

 iterate=iterate+3;

 }

这里的问题是,它每次迭代所以我不能在obj [3]之后得到obj [4]的valjue 有什么想法吗?

3 个答案:

答案 0 :(得分:1)

不断拼接阵列会更容易:

var array = [1,2,3,4,5,6,7,8,9,10];
var slices = [];

while( array.length > 0 )
  slices.push( array.splice(0,3) );

console.log( slices );

答案 1 :(得分:0)

以下代码在每次迭代时都需要三个元素:

var array = [1,2,3,4,5,6,7,8,9,10];

for (var a = 0; a < array.length; a += 3) {
    // On the last iteration, array[a+1] and array[a+2]
    // will be undefined, because array is of length 10,
    // and 10 isn't divisible by 3 without a remainder.
    console.log(array[a], array[a+1], array[a+2]);
}

此外,在您的问题中,您可以在代码中互换使用iiterate

答案 2 :(得分:0)

我认为嵌套循环会对你有所帮助。像这样:

for(i=0 ;i<obj.length ; i+=4) {  // << step must be 4, not 3

   for (j=0; (j<=3) && (i+j < obj.length); j++) {
      alert(obj[i + j].mydata); // << here you take 0-3, 4-7 etc.
   }

}

编辑:外环校正终止