如何使用JavaScript轉置二維數組?

給定一個二維數組(矩陣),如何使用JavaScript進行矩陣的轉置?下面本篇文章就來給大家介紹一下使用JavaScript轉置二維數組的方法,希望對大家有所幫助。
如何使用JavaScript轉置二維數組?
原文地址:如何使用JavaScript轉置二維數組?
方法1:

● 將二維數組存儲到變量中。

● 顯示二維數組(矩陣)內容。

● 調用map()方法,它爲數組中的每個元素提供一次回調函數,相對於數組對角線調換數組中元素的位置。

示例:使用array.map()方法

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
    </head>

    <body style = "text-align:center;">  

        <p id = "Array" style = "font-size: 16px; font-family: sans-serif; font-weight: bold;"></p> 

        <button onclick = "Run()"> 點擊這裏</button> 

        <p id = "Array_DOWN" style = "color:green; font-size: 20px; font-weight: bold;"></p> 

        <script> 
            var el_up = document.getElementById("Array"); 
            var el_down = document.getElementById("Array_DOWN"); 

            var array = [ 
                            [1, 1, 1], 
                            [2, 2, 2], 
                            [3, 3, 3], 
                        ]; 

            el_up.innerHTML = "[ [ " + array[0] + " ] ], [ [ "  
                             + array[1] + " ] ], [ [ " + array[2] + " ] ]"; 

            function transpose(mat) { 
                for (var i = 0; i < mat.length; i++) { 
                    for (var j = 0; j < i; j++) { 
                        const tmp = mat[i][j]; 
                        mat[i][j] = mat[j][i]; 
                        mat[j][i] = tmp; 
                    } 
                } 
            } 

            function Run() { 
                array = array[0].map((col, i) => array.map(row => row[i])); 

                el_down.innerHTML = "[ [ " + array[0] + " ] ], [ [ " 
                        + array[1] + " ] ], [ [ " + array[2] + " ] ]"; 
            }          
        </script>  
    </body>  
</html>

效果圖:

如何使用JavaScript轉置二維數組?

方法2:

● 將二維數組存儲到變量中。

● 將數組中的每個元素替換爲其相對於數組對角線的鏡像。

示例:創建一個函數,該函數用鏡像替換每個元素以獲取數組的轉置。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
    </head>

    <body style = "text-align:center;">  

        <p id = "Array" style = "font-size: 16px; font-family: sans-serif; font-weight: bold;"></p> 

        <button onclick = "gfg_Run()"> 點擊這裏</button> 

        <p id = "Array_DOWN" style = "color:red; font-size: 20px; font-weight: bold;"></p> 

        <script> 
            var el_up = document.getElementById("Array"); 
            var el_down = document.getElementById("Array_DOWN"); 

            var array = [ 
                            [1, 1, 1], 
                            [2, 2, 2], 
                            [3, 3, 3], 
                        ]; 

            el_up.innerHTML = "[ [ " + array[0] + " ] ], [ [ " 
                    + array[1] + " ] ], [ [ " + array[2] + " ] ]"; 

            function transpose(mat) { 
                for (var i = 0; i < mat.length; i++) { 
                    for (var j = 0; j < i; j++) { 
                        const tmp = mat[i][j]; 
                        mat[i][j] = mat[j][i]; 
                        mat[j][i] = tmp; 
                    } 
                } 
            } 

            function gfg_Run() { 
                transpose(array); 
                el_down.innerHTML = "[ [ " + array[0] + " ] ], [ [ " 
                        + array[1] + " ] ], [ [ " + array[2] + " ] ]"; 
            }           
        </script>  
    </body>  
</html>

效果圖:
如何使用JavaScript轉置二維數組?

推薦閱讀:

java基礎教程

layui框架

go語言教程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章