Boucle à travers plusieurs tableaux, en les combinant à un seul tableau,le maintien de l'index à l'intérieur de la subarray

Peu longue haleine titre, mais je vais essayer d'expliquer ce que je veux faire.
Fondamentalement, j'ai un certain nombre de tableaux que je veux combiner en un seul tableau. Le problème est que j'ai besoin d'une boucle sur les éléments de la sous-tableaux et ajouter 1 à un moment et à maintenir l'ordre. L'objectif final est que je veux afficher les données paginées. J'ai un exemple simple ci-dessous que je vais utiliser pour essayer de transmettre ce que je veux dire. Ce n'est pas un tri alphabétique-je.e h ne devrait pas être avant je dans le fond exemple.

Donc, dans mon exemple je sais que je veux 3 pages de résultats. La première page doit avoir les 4 éléments, la deuxième page 4 points et le troisième 1 point.

Je peux faire la finale de pagination moi-même que je vais avoir un tableau de tous les intérieurs éléments à la fin de "mélange", mais je ne peux pas savoir comment faire une boucle à travers mes tableaux et de les ajouter dans la manière dont j'ai besoin.

J'ai la page de la variable d'avance mais je ne suis pas sûr de savoir comment la structure de la boucle. Je pense que j'ai fondamentalement besoin d'une boucle sur chaque subarray et de la pop() le premier élément, puis faire une boucle par la suivante, pop() le premier élément et ainsi de suite. Mais quelque part, j'ai besoin de vérifier le nombre d'éléments dans chaque subarray.

Par exemple si seulement j'avais tableau "un" je, en théorie, 2 pages de la première contenant a,c,e,i et le deuxième seulement k, c'est évidemment assez simple comme je viens de vérifier la longueur de la seule matrice.

Mais si j'ai ajouté dans un autre tableau "troisième" [1,2,3,4,5], alors je m'attends à ce que le mélange tableau ['a','b',1,'c','d',2...etc]; Chacun de ces tableaux pourrait, en théorie, sont de différentes longueurs alors je serait évidemment ignorer une valeur vide.

 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'];

J'ai essayé de parole de ce du mieux que je peux, mais j'ai du mal à obtenir ma tête autour de comment l'expliquer moi-même! Malheureusement, dans le monde réel, je n'ai pas de contrôle sur les données ou la taille de l'tableaux de données.

Des questions ou si quelque chose n'est pas clair, alors s'il vous plaît laissez un commentaire.

OriginalL'auteur TommyBs | 2013-09-25