我有一个返回相同数据的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 有什么想法吗?
答案 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]);
}
此外,在您的问题中,您可以在代码中互换使用i
和iterate
。
答案 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.
}
}
编辑:外环校正终止