var arr = [ 1, 2, 3, 4 ], ar = Array();
k = 0;
for ( var i = 0; i < 2; i++) {
ar[i] = ar[i] || [];
for ( var j = 0; j < 2; j++) {
ar[i][j] = arr[k];
k++
}
}
var $a = ar;

解决方案 »

  1.   


     ar[i] = ar[i] || [],这一句是什么意思呢?我不知道为什么这儿会用到一个||?望解答
      

  2.   

    var arr = [ 1, 2, 3, 4 ], ar = Array();
    k = 0;
    for ( var i = 0; i < 2; i++) {
    if(ar[i]){
    ar[i]=ar[i];
    }else{
    ar[i]=[];
    }
    for ( var j = 0; j < 2; j++) {
    ar[i][j] = arr[k];
    k++
    }
    }
    var $a = ar;
      

  3.   


    我开始想的是用ar[i] = Array()替换if(ar[i]){
    ar[i]=ar[i];
    }else{
    ar[i]=[];
    }
    换成ar[i] = Array()这样对代码的执行效率是不是降低了呢?每次循环都要去定义了
      

  4.   

    var arr = [1,2,3,4],
    var ar = [];
    var t = []
    for(var i=0; i<arr.length; i++){
      t.push(arr[i]);
      if(t.length == 2) {
        ar.push(t);
        t = [];
      }
    }
    alert(ar[1]);
      

  5.   

    <script type="text/javascript">
        var arr=[1,2,3,4],ar=[];
        while(arr.length)ar.push(arr.splice(0,2));
        alert(ar);
    </script>