var arr=[1,2,3,4,5,6,7,8,9,10];
如何转换成
[[1,2,3][4,5,6][7,8,9][10]]

解决方案 »

  1.   

    你这是特定需要,需要自己来实现
    用一个循环,调用array.slice(start, end)来生成新的数组
      

  2.   


    var arr=[1,2,3,4,5,6,7,8,9,10]; 
    function splitArray(aim , size)

    var result = [];
        var tempArray;
    for(var count = 0; count < aim.length; count++) 
    {  
    if(count%size == 0 )
    {
    if(tempArray)
    {
        result.push(tempArray);
    }
    tempArray = [];
    }     tempArray[tempArray.length]=aim[count];
    if(count+1 == aim.length)
    {
    result.push(tempArray);
    }
    }
    return result;
    }
    alert(splitArray(arr,3)[0]);
    alert(splitArray(arr,3)[1]);
    alert(splitArray(arr,3)[2]);
    alert(splitArray(arr,3)[3]);
      

  3.   


    var arr=[1,2,3,4,5,6,7,8,9,10];
    console.log(JSON.stringify(arr));
    var temp = [];
    for(var i=0;i<arr.length;++i){
    temp = arr.slice(i,i+3);
    arr.splice(i,3,temp);
    }
    console.log(JSON.stringify(arr));
      

  4.   


    function array_change(a,size){//size为二维数组中的每一维的元素个数
    var cnt=Math.ceil(a.length/size);
    //alert(cnt);
    var br=new Array();
    for(var i=0;i<cnt;i++){
    br[i]=new Array();
    br[i] = a.slice(size*i,size*i+parseInt(size));//br[i] = a.slice(0,3);//br[i] = a.slice(3,6);//br[i] = a.slice(6,9);
    alert(br[i]);
    }
    return br;
    }
    array_change(a,3);
      

  5.   

    JSON.stringify有这个写法 ?
      

  6.   


    JSON.stringify这个是把JSON数据转换成JSON字符串,在google,firefox下面支持,IE不支持,可以引入一json.js
      

  7.   


    var a = [1,2,3,4,5,6,7,8,9,10],arr=t=[];
    while((t = a.splice(0,3)).length){
        arr[arr.length] = t;
    }
      

  8.   


    var arr=[1,2,3,4,5,6,7,8,9,10];
    for(var i=0;i<arr.length;++i)
        arr.splice(i,3,arr.slice(i,i+3));精简一下的写法