Javascript 将两个项目组合在一个数组中

Javascript 将两个项目组合在一个数组中,javascript,arrays,Javascript,Arrays,我试图将一个数组中的数字以两人一组的形式推入另一个数组 如果我有一个数组[1,4,3,2]它应该返回[[1,4],[3,2] var arrayPairSum=函数(nums){ var len=nums.length/2; var-arr=[]; 对于(变量i=0;i

我试图将一个数组中的数字以两人一组的形式推入另一个数组

如果我有一个数组
[1,4,3,2]
它应该返回
[[1,4],[3,2]

var arrayPairSum=函数(nums){
var len=nums.length/2;
var-arr=[];
对于(变量i=0;iarrayPairSum([1,4,3,2])
您可以使用
reduce
方法来实现这一点
reduce
方法接受数组中每个项上提供的
回调
方法

换句话说,此方法对累加器应用函数,数组中的每个元素(从左到右)将减少为单个值

var数组=[1,4,3,2,8];
var contor=array.reduce(函数(contor,item,i){
如果(i%2==0)
contor.push([array[i],array[i+1]].filter(Boolean));
返回控制器;
},[]);

控制台日志(contor)你非常接近。只需将长度更改为
nums.length
,并在循环中将
i
增加2

var arrayPairSum=函数(nums){
var len=nums.length-1;
var-arr=[];
对于(变量i=0;iarrayPairSum([1,4,3,2])
如果您真的想在数组上迭代,可能会跳过每秒的索引,因此
i+=2
(正如satpal已经指出的):

var arrayPairSum=函数(nums){
var len=nums.length-1;//如果nums.length不是偶数,它将在执行nums[i+1]时崩溃,这就是为什么-1
var-arr=[];
对于(变量i=0;iarrayPairSum([1,4,3,2])这将处理
[1,4,3,2,5]