矩陣應用例項及js實現矩陣轉置演算法
阿新 • • 發佈:2018-11-09
場景:
後端返回的是[[‘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]]