如何将数组拆分为另一个配对数组

时间:2012-08-09 03:11:48

标签: javascript

我想要一个非常简单的功能,我希望在下面使用简短而美观的代码

输入:

[1,2,3,4,5,6,7,8,9,10]

输出:

[[1,2],[3,4],[5,6],[7,8],[9,10]]

如何在javascript中执行此操作

3 个答案:

答案 0 :(得分:2)

这是一个不同的风格,可以更改数组(假设偶数个数组条目):

var orig = [1,2,3,4,5,6,7,8,9,10];
for (var i = 0; i < orig.length; i+=2) {
    orig[i/2] = [orig[i], orig[i+1]];
}
orig.length /= 2;

答案 1 :(得分:1)

function splitPairs(arr) {
  var newArr = new Array(Math.round(arr.length / 2));
  for (var i=0, l=arr.length; i<l; i+=2) {
    newArr[i>>1] = [arr[i], arr[i+1]];
  }
  return newArr;
}

Fiddle

答案 2 :(得分:0)

两行:

function cut(ar)
{
    for(var i=0,l=ar.length,tmpar=[];i<l;i+=2)tmpar[tmpar.length]=[ar[i],ar[i+1]];
    return tmpar;
}

http://jsfiddle.net/7yd26/3/

如果数组中有奇数个元素,它也可以工作:http://jsfiddle.net/7yd26/4/