1

我想要一个非常简单的功能,我希望用简短而漂亮的代码来做下面

输入:

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

输出:

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

如何在 javascript 中执行此操作

4

3 回答 3

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;
于 2012-08-09T03:23:30.177 回答
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;
}

小提琴

于 2012-08-09T03:15:03.460 回答
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/

于 2012-08-09T03:20:43.223 回答