这个标题有点长,但我会尽量解释我的意思。基本上,我有几个数组,我想要将它们合并成一个数组。问题在于,我需要循环遍历子数组中的项目,并逐个添加它们并保持顺序。最终目标是我想要返回分页后的数据。下面是一个简单的示例,我将使用它来试图传达我的意思。这不是按字母顺序排序,例如底部示例中h不应在i之前。
所以在我的例子中,我知道我想要3页结果。第一页应该有4个项目,第二页4个项目,第三页只有1个项目。
我可以自己完成最终的分页,因为我最终会有一个所有内部项目的数组"mix",但我无法弄清楚如何循环遍历我的数组并按照我需要的方式添加它们。
我已经有了页面变量,但我不确定如何构造循环。我认为我基本上需要循环遍历每个子数组并pop()掉第一个项目,然后循环遍历下一个子数组,pop()掉第一个项目,依此类推。但是我需要检查每个子数组中剩余的项目数量。
例如,如果我只有数组"one",理论上我会有2页,第一页包含a、c、e、i,第二页只有k,这个很简单,因为我只需要检查一个数组的长度。
但是如果我添加了另一个数组"third" [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'];
我尽力用最好的措辞来表达,但是我很难自己解释清楚这个问题!不幸的是,在现实世界中,我无法控制数据/数据数组的大小。
如果有任何问题或者有什么不清楚的地方,请留言评论。