Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中使用for循环的特定迭代_Javascript - Fatal编程技术网

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

在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

我有一个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=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