1. 程式人生 > >矩陣應用例項及js實現矩陣轉置演算法

矩陣應用例項及js實現矩陣轉置演算法

場景:

後端返回的是[[‘2015-1-1’,1,1],[‘2015-1-2’,1,2]]這樣的Json陣列,代表的意思是2015-1-1這個日期下新增的資料為1,減少的資料為1,2015-1-2這個日期,新增的資料為1,減少的資料為2,但是在統計圖表上要在x軸顯示時間,y軸顯示新增和減少的資料這時,就要把資料轉化成[[‘2015-1-1’,’2015-1-2’],[1,1],[1,2]]這樣的結構,這也可以叫做矩陣的轉置。

關於矩陣轉置,可以用下圖簡單說明一下:

圖片描述(最多50字)

A表示的是原始矩陣,At表示轉置後的矩陣。

用js實現這樣的演算法如下:

function reverseMatrix(sourceArr) {

                       var reversedArr = [];

                       for(var n = 0; n < sourceArr[0].length; n++) {

                              reversedArr[n] = [];

                              for(var j = 0; j < sourceArr.length; j++) {

                                     reversedArr[n][j] = sourceArr[j][n];

                              }

                       }

                       return reversedArr;

                }

測試這個演算法:

var tArr = [

                       [1, 2, 3],

                       [1, 2, 3]

                ];

var testArr = reverseMatrix(tArr);

console.log(JSON.stringify(testArr));

此時輸出的二維陣列(矩陣)為:

[[1,1],[2,2],[3,3]]