簡體   English   中英

在JavaScript中使用for循環的特定迭代

[英]Specific iteration using for loop in 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知道嗎?

連續拼接數組會更容易:

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 );

以下代碼在每次交互時都包含三個元素:

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

我認為嵌套循環會為您提供幫助。 像這樣:

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.
   }

}

編輯:外部循環中的終止已更正

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM