Javascript 合并(1与2、3与4等)数组元素

Javascript 合并(1与2、3与4等)数组元素,javascript,Javascript,我有一个数组[[1,2,3],[4,5,6],[7,8,9],[10,11,12] 我想合并像这样的元素[[1,2,3,4,5,6],[7,8,9,10,11,12]。但是不知道如何…您可以尝试以下方法(仅适用于偶数个元素) var-arr=[[1,2,3]、[4,5,6]、[7,8,9]、[10,11,12]; var结果=[]; 对于(变量i=0;i 赋值(r,{[i>>1]:[…(r[i>>1]| |[]),…a],[]); 控制台日志(组合) .as控制台包装{max height:1

我有一个数组
[[1,2,3],[4,5,6],[7,8,9],[10,11,12]

我想合并像这样的元素
[[1,2,3,4,5,6],[7,8,9,10,11,12]
。但是不知道如何…

您可以尝试以下方法(仅适用于偶数个元素)

var-arr=[[1,2,3]、[4,5,6]、[7,8,9]、[10,11,12];
var结果=[];
对于(变量i=0;i控制台日志(结果)您可以减少数组,并对结果数组的右新索引使用带位移位的索引

var数组=[[1,2,3]、[4,5,6]、[7,8,9]、[10,11,12]],
组合=数组。减少((r,a,i)=>
赋值(r,{[i>>1]:[…(r[i>>1]| |[]),…a],[]);
控制台日志(组合)

.as控制台包装{max height:100%!important;top:0;}
合并任意数量后续数组的通用解决方案:

let range=n=>[…数组(n).keys();
让chunks=(a,n)=>range(Math.ceil(a.length/n))
.map(i=>a.slice(i*n,(i+1)*n));
让mergeEvery=(a,n)=>chunks(a,n).map(g=>[].concat(…g));
a=[[1,2,3],[4],[5,6],[7,8,9],[10,11,12],[13,14],[15]]
log(JSON.stringify(mergeEvery(a,2)))
log(JSON.stringify(mergeEvery(a,3)))

log(JSON.stringify(mergeEvery(a,4)))
您可以只使用结果。很好。问题出在哪里?如果你阅读JavaScript.Hmmm的文档,也许可以尝试Array.prototype.concat,你会得到一些灵感吗?你是否基于任何标准,比如第一个数组中的数字小于7,第二个数组中的所有其他数。或者,每个数组只能有6个数字。如果另一个数组具有
[1、12、9]
,会发生什么情况?你的问题不是很清楚。