我想要一个非常简单的功能,我希望在下面使用简短而美观的代码
输入:
[1,2,3,4,5,6,7,8,9,10]
输出:
[[1,2],[3,4],[5,6],[7,8],[9,10]]
如何在javascript中执行此操作
答案 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;
}
答案 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/4/