溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

矩陣應(yīng)用實例及js實現(xiàn)矩陣轉(zhuǎn)置算法

發(fā)布時間:2020-07-03 01:47:36 來源:網(wǎng)絡(luò) 閱讀:1218 作者:Lovedev 欄目:web開發(fā)

場景:

后端返回的是[[‘2015-1-1’,1,1],[‘2015-1-2’,1,2]]這樣的Json數(shù)組,代表的意思是2015-1-1這個日期下新增的數(shù)據(jù)為1,減少的數(shù)據(jù)為1,2015-1-2這個日期,新增的數(shù)據(jù)為1,減少的數(shù)據(jù)為2,但是在統(tǒng)計圖表上要在x軸顯示時間,y軸顯示新增和減少的數(shù)據(jù)這時,就要把數(shù)據(jù)轉(zhuǎn)化成[[‘2015-1-1’,’2015-1-2’],[1,1],[1,2]]這樣的結(jié)構(gòu),這也可以叫做矩陣的轉(zhuǎn)置。

關(guān)于矩陣轉(zhuǎn)置,可以用下圖簡單說明一下:

圖片描述(最多50字)

A表示的是原始矩陣,At表示轉(zhuǎn)置后的矩陣。

用js實現(xiàn)這樣的算法如下:

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));

此時輸出的二維數(shù)組(矩陣)為:

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

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI