長長的標題的位,但我會試着解釋我想要做什麼。 基本上我有一些我想合併成一個數組的數組。麻煩的是,我需要遍歷子陣列中的項目,並一次添加1個項目並保持順序。最終目標是我想顯示回頁面的數據。我在下面有一個簡單的例子,我將用它來傳達我的意思。這不是字母順序排列,即h不應該在i之前。循環遍歷多個數組,合併爲單個數組,在子數組內維護索引
所以在我的例子中,我知道我想要3頁的結果。第一頁應該有4個項目,第二個頁面4個項目和第三個只有1個項目。
我可以做最後的尋呼自己,因爲我會在它「混合」到底有沒有內所有項目的數組,但我無法通過我的數組工作,如何循環和如何將它們添加我需要。
我已經得到了頁面變量,但我不知道如何構造循環。我想我基本上需要遍歷每個子數組,然後pop()關閉第一個項目,然後循環遍歷下一個,pop()第一個項目等等。但是我需要檢查每個子陣列中剩下多少物品。
例如,如果我只有數組「一」我理論上有2頁第一個包含a,c,e,我和第二個唯一的k,這一個顯然很簡單,因爲我只是檢查長度唯一的陣列。
但是,如果我在另一個陣列加入「第三」 [1,2,3,4,5]然後我期望混合陣列爲[「A」,「B」,1,「C」,」 d」,2 ...等];這些陣列中的每一個理論上可以有不同的長度,所以我顯然會跳過一個空值。
var one = ['a','c','e','i','k'];
var two = ['b','d','f','h'];
var all = [one,two];
var pagecount = 3;
var mix = [];
for(var i = 0; i< all.length; i++){
var area = all[i];
}
// End result should be mix = ['a','b','c','d','e','f','i','h','k'];
我試過盡我所能說出這句話,但我正在努力讓自己的頭腦如何解釋這個我自己!不幸的是,在現實世界中,我無法控制數據數組的數據/大小。
如有任何疑問,或者如果有什麼不清楚的地方,請留下評論。
如果你想在一個[i]之後的/「bar」之前「Foo」,這將如何工作?輸出將是:[foo1bar,「a」,「U」,foo2bar,「b」,「V」,foo3bar,「W」,foo4bar,「X」,「Y」,「Z」] ...你能將它改爲「'var all = [」foo「+ one +」bar「,two,three];' – hakarune