js数组 把竖向数组排列为横向数组

项目中会遇到为了渲染方便要把后台给的竖向数组排列为横向数组

例:后台传回的数组为[2004, 2005, 2006, 2007, 2008]

         [46890000, 55900500, 33786400, 57054400, 61834100]

         [28440000, 29340700, 15127600, 16771500, 36568800]

但是页面上要展示成这样的效果:

 function changearr(oldarr){
        console.log(oldarr);
        var maxLength=getMaxLength(oldarr);
        //console.log(maxLength);
        var rowarr=[],rowoldarr=[];
        for(var k=0;k<oldarr.length;k++){
            for(var m=0;m<maxLength;m++){
                if (!rowarr[m]) rowarr[m]=[];
                rowarr[m].push(oldarr[k][m]);
                if (!rowoldarr[m]) rowoldarr[m]=[];
                rowoldarr[m].push(oldarr[k][m]);
            }
        }
        //console.log(rowarr);
        return rowarr;
    }
    function getMaxLength(arr) {
        //console.log(arr);
        var max=0;
        for(var i=0; i<arr.length; i++){
            if(arr[i].length>max){
                max=arr[i].length;
            }
        }
        return max;
    }
var oldarr=
[
    [2004, 2005, 2006, 2007, 2008],
    [46890000, 55900500, 33786400, 57054400, 61834100],
    [28440000, 29340700, 15127600, 16771500, 36568800]
   ]
var newarr=changearr(oldarr);
console.log(newarr)

结果如下:

这样页面渲染就方便多了

原文地址:https://www.cnblogs.com/zhoushuang0426/p/11339466.html