一维数组和二维数组的相互转化

310 阅读1分钟

应用场合:在对页面进行拖拉拽时,需要记录obj对象所在页面的位置

一维数组 转 二维数组




        var arr = [

        {
            row: 1,
            col: 2,
            name: '我是第一行第二列数据'
        },
        {
            row:1,
            col:1,
            name: '我是第一行第一列数据'
        },
        {
            row: 2,
            col: 1,
            name: 33333
        },
        {
            row:3,
            col:1,
            name: '我是第三行第一列数据'
        },
        {
            row: 3,
            col: 2,
            name: '我是第三行第二列数据'
        },
        ];

        var arr2 = [];

        for(var i=0;i < arr.length; i++){
            var row = arr[i].row -1; // 第几项
            var col = arr[i].col -1 ; 
            if(!arr2[row]){
                arr2[row] = [];
            }

            arr2[row][col] = arr[i]

        }
        console.log('一维数组 转 二维数组', arr2);

二维数组转 一维数组


    var arr3 =   [
            [
              { row: 1, col: 1, name: '我是第一行第一列数据' },
              { row: 1, col: 2, name: '我是第一行第二列数据' } 
            ],
            [ { row: 2, col: 1, name: '我是第二行第一列数据' } ],
            [
              { row: 3, col: 1, name: '我是第三行第一列数据' },
              { row: 3, col: 2, name: '我是第三行第二列数据' }
            ]
          ]


        var arr4 = []

        for(var i =0; i< arr3.length; i++){
           arr4 = arr4.concat( arr3[i])
        }

        console.log('二位数组转 一维数组', arr4)`