我有一个数组例如:
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]
我想把它变成以下内容:
[ [1,2,3,4,5,6],
[7,8,9,10,11,12],
[13,14,15,16,17,18] ]
基本上我需要对每6个元素进行分组,其中的数组应该是2D数组的元素 我没有很好地解释它,但这个例子应该是清楚的。
我一直在玩一些for循环,但我永远无法获得正确的输出。任何帮助将不胜感激。
答案 0 :(得分:3)
答案 1 :(得分:2)
试试这个
var data=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18];
var a=-1,temp=[];
data.forEach(function(item,index){
if(index%6==0){
temp[++a]=[];
}
temp[a].push(item);
});
console.log(temp);
<强> JSFIDDLE 强>
答案 2 :(得分:0)
在发布问题之前进入堆栈溢出搜索,在任何地方回答相同类型的问题。这个算法有很多问题。
基于this answer这是最小代码行。
function arrayChunk(arr){
var i,j,chunk = 6, result = [];
for (i=0,j=arr.length; i<j; i+=chunk)
result.push(arr.slice(i,i+chunk));
return result;
}
你可以像
一样调用这个函数arrayChunk([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]);
结果[[1,2,3,4,5,6],[7,8,9,10,11,12],[13,14,15,16,17,18]]