Javascript 将一个数组的2个元素按顺序合并为新数组中的数组

Javascript 将一个数组的2个元素按顺序合并为新数组中的数组,javascript,arrays,mapreduce,Javascript,Arrays,Mapreduce,假设我们有一个数组[1,2,3,4,5,6],我想得到一个新的数组[1,2],[3,4],[5,6]。我不想使用for循环。我想使用map reduce或最佳实践解决它,但我不知道如何使用map reduce。请帮助。您可以使用%进行检查。如果为零,则按最后插入的数组,否则将生成新数组 var数组=[1,2,3,4,5,6], 结果=数组.reduce(函数(r,a,i){ i%2?r[r.length-1]。推(a):r.push([a]); 返回r; }, []); 控制台日志(结果) 。

假设我们有一个数组[1,2,3,4,5,6],我想得到一个新的数组[1,2],[3,4],[5,6]。我不想使用for循环。我想使用map reduce或最佳实践解决它,但我不知道如何使用map reduce。请帮助。

您可以使用
%
进行检查。如果为零,则按最后插入的数组,否则将生成新数组

var数组=[1,2,3,4,5,6],
结果=数组.reduce(函数(r,a,i){
i%2?r[r.length-1]。推(a):r.push([a]);
返回r;
}, []);
控制台日志(结果)
。作为控制台包装{max height:100%!important;top:0;}
您可以使用
%
进行检查。如果为零,则按最后插入的数组,否则将生成新数组

var数组=[1,2,3,4,5,6],
结果=数组.reduce(函数(r,a,i){
i%2?r[r.length-1]。推(a):r.push([a]);
返回r;
}, []);
控制台日志(结果)

.as console wrapper{max height:100%!important;top:0;}
您可以使用临时对象,但我认为reduce不能用于此目的。我想我会用for循环

[1, 2, 3, 4, 5, 6].reduce(
  function(a,b) { 
    if(a.val) {
      a.arr.push([a.val, b]);
      a.val = false;
    } else {
      a.val = b;
    } return a; 
  }, {
    arr: [],
    val: false
  }
).arr

您可以使用临时对象,但我不认为reduce是用于此目的的。我想我会用for循环

[1, 2, 3, 4, 5, 6].reduce(
  function(a,b) { 
    if(a.val) {
      a.arr.push([a.val, b]);
      a.val = false;
    } else {
      a.val = b;
    } return a; 
  }, {
    arr: [],
    val: false
  }
).arr
您可以使用
Array.of()
Array.prototype.slice()

您可以使用
Array.of()
Array.prototype.slice()


您可以尝试使用递归函数。它还考虑了奇数长度数组的情况

var a=[1,2,3,4,5,6,7];
职能部门(arr){

返回arr.length您可以尝试使用递归函数。它还考虑了奇数长度数组的情况

var a=[1,2,3,4,5,6,7];
职能部门(arr){

返回arr.length谢谢Nina,请告诉我如何在map reduce上获取命令,昨天你还救了我。我不想一次又一次地问这些基本问题。请给我推荐一些好的文档。我没有文档,答案很简单,只是看看模运算符在做什么,看看不同的插入值。嗨Nina,P请帮帮我谢谢Nina,请告诉我如何在map reduce上获取命令,昨天你还救了我。我不想反复问这些基本问题。请给我推荐一些好的文档。我没有文档,答案很简单,只是看看模运算符在做什么,看看不同的插入值。嗨Nina,P请帮帮我