2015-06-11 187 views
0

我有總有50一個length的陣列,它看起來像這樣:Javascript數組,爲每個增量創建一個嵌套數組

var array = [ 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    'item', 
    ... 
]; 

我需要做的是循環遍歷數組,並創建一個嵌套的數組,每5項,含含5個項目每個,看起來像10個嵌套數組,因此最終的結果將是array

var array = [ 
    [ 
    'item', 
    'item', 
    'item', 
    'item', 
    'item' 
    ], 
    [ 
    'item', 
    'item', 
    'item', 
    'item', 
    'item' 
    ], 
    [ 
    'item', 
    'item', 
    'item', 
    'item', 
    'item' 
    ], 
    [ 
    'item', 
    'item', 
    'item', 
    'item', 
    'item' 
    ], 
    ... 
]; 

我已經嘗試了不少東西,但總是一塌糊塗結束意大利麪條圈,一條Ÿ幫助將不勝感激。如果需要,我甚至可以使用jQuery。

+3

發表您的麪條,我們在這裏是相當的支持組。 – technophobia

+0

你的評論像你只想要第一個數組中的每個第五個元素都有一個嵌套數組。是對的嗎? –

+0

只是拼接陣列。 :) –

回答

4
var array = ['item','item','item','item','item','item','item','item','item','item','item','item','item']; 
var new_arr = []; 
while(array.length) new_arr.push(array.splice(0,5)); 

console.log(new_arr); 
+0

結束了這個,做了一個享受,謝謝一堆! – Tom

0

只有一個for循環。

var temp=[], newArray=[]; 
for(i=0;i<array.length;i++){ 
    temp.push(array[i]); 
    if(temp.length==size){//size in your case = 5 
     newArray.push(temp); 
     temp=[]; 
    } 
} 
相關問題