在javascript中使用for循环的特定迭代
我有一个ajax调用,它返回相同的数据在javascript中使用for循环的特定迭代,javascript,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]和obj[4]-obj[7]和obj[8]-obj[11]… var iterate=0; for(i=0 ;i<obj.length ; i++) { alert(obj[iterate].mydata); iterate
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]和obj[4]-obj[7]和obj[8]-obj[11]…
var iterate=0;
for(i=0 ;i<obj.length ; i++)
{
alert(obj[iterate].mydata);
iterate=iterate+3;
}
var迭代=0;
对于(i=0;i而言,以下代码在每次迭代中采用三个元素:
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]);
}
var数组=[1,2,3,4,5,6,7,8,9,10];
对于(变量a=0;a
另外,在你的问题中,你在你的代码中交替使用i
和迭代
。我认为嵌套循环将对你有所帮助。如下所示:
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.
}
}
对于(i=0;i连续拼接阵列将更容易:
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 );
obj
应该是一个数组还是什么?你是想把数组分成几块吗?我看不出obj[0]-obj[3]和obj[4]-obj[7]
之间有什么区别,只是obj[0]-obj[7]
而已。请提供一个你(想要)的输入和输出的具体例子得到。你越能描述你的问题,我们就越容易帮助你。你的意思是你想把你的数组切成长度为4的片?var obj=data.d;是的,这是一个数组。那么如何处理这些片呢?就像我说的,这不清楚。我只想取…
只有什么?obj[0]减去obj[3]?或者obj[0]到obj[3]的和?你在反驳。你可能还想将原始数组分割成更小的数组,等等。关键是,你必须以一种我们能理解的方式解释你的问题和预期解决方案。当像你这样的ppl打字快20秒时,很难获得代表:事实上,问题是在10分钟前提出的;@Ms.Nobody:回答[forth]的问题或者[typo3]:-)有放松的静默:-)是的,但它被指定到一分钟前我终于知道OP想要什么的级别:D这将在obj.length-4
迭代后中断一次,这将在obj.length/4
迭代后发生(我想)。我改进了终止和计数器的使用。谢谢你们的提示:-)这将解决问题,谢谢你们的合作@FelixCink和PeTr.thothoooKooal乐于帮助:-请考虑标记正确的答案,因为它给其他读者提供快速定位。但也贵得多。您将创建一个新阵列(已删除的图元)并重新定位阵列中的现有图元。将此代码更改为.slice
只是一小步。@FelixKling将用于(i=0;i