我有一个总是length
50
的数组,看起来像这样:
var array = [
'item',
'item',
'item',
'item',
'item',
'item',
'item',
'item',
'item',
'item',
'item',
'item',
'item',
'item',
'item',
'item',
'item',
'item',
'item',
'item',
...
];
我需要做的是循环遍历该数组并每5个项创建一个嵌套数组,因此最终结果将是array
,其中包含10个嵌套数组,每个数组包含5个项目,如下所示:
var array = [
[
'item',
'item',
'item',
'item',
'item'
],
[
'item',
'item',
'item',
'item',
'item'
],
[
'item',
'item',
'item',
'item',
'item'
],
[
'item',
'item',
'item',
'item',
'item'
],
...
];
我已经尝试了很多东西,这些东西总是在一堆乱七八糟的意大利面条圈中结束,任何帮助都会非常感激。如果需要,我甚至愿意使用jQuery。
答案 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);
答案 1 :(得分: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=[];
}
}