我试图将一个数组中的数字以两个为一组插入另一个数组。
如果我有一个数组 [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/