Javascript数组,为每个增量创建一个嵌套数组

时间:2015-06-11 14:15:08

标签: javascript jquery arrays

我有一个总是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。

2 个答案:

答案 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=[];
    }
}