簡體   English   中英

如何循環一個數組,以及每次獲取下3個?

[英]How to loop an Array, and to get each time the next 3?

我有一個像這樣的對象數組- [{first},{second},{third},{forth},{fifth},{sixth}}

我如何遍歷數組,並獲取(對於每個循環)該數組的下三個元素?

例如,對於第一個循環,我將獲得引用{first}{second}{third}三個變量,對於第二個循環,我將獲取引用{forth}{fifth}{sixth}變量{sixth} ...依此類推...

for (i = 0; i < arr.length; i += 3) {
    var a = arr[i];
    var b = arr[i + 1];
    var c = arr[i + 2];
    ...
}

這可能起作用:

var array = ['one', 'two', 'three', 'four', 'five', 'six', 'seven'];
for(i = 0; i < array.length; i+=3){
    var first = array[i];
    var second = (array[i+1]) ? array[i+1] : null;
    var third = (array[i+2]) ? array[i+2] : null;
}

如果數組中不存在索引,則變量將為null 小提琴

接受的答案的另一個版本是:

var i = 0, len = arr.length;
while (i < len) {
    var a = arr[i++];
    var b = arr[i++];
    var c = arr[i++];
    ...
}

如果數組稀疏,或者長度不是3的偶數倍,則可能需要在讀取元素值之前測試元素是否存在,並在增加計數器時將其考慮在內。

嘗試這個:

var i, j;
for (i = 0; i < 4; i += 1) {
   // Loop
}
for (j = i; j < arr.length; j += 1) {
   // Second loop
}

只需將i后面的元素加1,然后將其后面的元素加2。

var ary1,ary2,ary3;

for(var i=0;i<size-3;i+=3){
  ary1 = myary[i];
  ary2 = myary[i+1];
  ary3 = myary[i+2];
}

這真的很基本

var array; // your array (let's pretend it's already populated)

for (i = 0; i < array.length - 3; i += 3) {
    element1 = array[i];
    element2 = array[i+1];
    element3 = array[i+2];
}

在數組中沒有三個對象的倍數的情況下,我沒有進行處理,但這應該可以幫助您入門。

暫無
暫無

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

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