javascript - 在一个数组中将两个项目分组

标签 javascript arrays

我试图将一个数组中的数字以两个为一组插入另一个数组。

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

var arrayPairSum = function(nums) {

    var len = nums.length / 2;
    var arr = [];

    for(var i = 0; i < len; i ++) {
        var newArr = [];
        newArr.push(nums[i]);
        newArr.push(nums[i + 1]);
        arr.push(newArr);
    }

   console.log(arr); //this should give me [[1,4],[3,2]];
};


arrayPairSum([1,4,3,2]);

任何人都可以看到我需要做什么才能实现这一目标吗?我想不通。

最佳答案

您可以使用reduce 方法来实现这一点。 reduce 方法接受为数组中的每个项目提供的 callback 方法。

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

var array=[1,4,3,2,8];
var contor=array.reduce(function(contor,item,i){
  if(i%2==0)
      contor.push([array[i],array[i+1]].filter(Boolean));
  return contor;
},[]);
console.log(contor);

关于javascript - 在一个数组中将两个项目分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45103197/

相关文章:

javascript - 过滤管道总是记录未定义的

javascript - 如何判断字符串时间-A 是否在时间-B 之前?

javascript - 对象名称可以是数字吗?

ruby-on-rails - 无法从命名的 javascript 函数访问元素

javascript - FullCalendar v3 - 在 View 更改时更改事件源

javascript - 使用数组访问视频 URL 并在视频标签中输出

java - 从字符串数组中解析 int 时出现 ArrayIndexOutOfBound

ruby - 根据公共(public)属性将 ruby​​ 数组分成多个数组

java - 交换数组java的两个邻域元素

c - C 中最快的去交织操作?