Transposing a m x n Matrix Array using JavaScript

Using below script we can transpose an m x n matrix array 
  1. <script>  
  2.     function transpose(arr) {  
  3.         var k = arr.length;  
  4.         var l = arr[0].length;  
  5.         var arr1 = [];  
  6.         var arr2 = [];  
  7.         for (var j = 0; j < l; j++) {  
  8.             arr1 = [];  
  9.             for (var i = 0; i < k; i++) {  
  10.                 arr1.push(arr[i][j]);  
  11.             }  
  12.             arr2.push(arr1);  
  13.         }  
  14.         return arr2;  
  15.     }  
  16.     var originalArray = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]];  
  17.     var transposedArray = transpose(originalArray);  
  18. </script>