js實現二維數組轉置


現有:

var arr1 = [[30,-1,90],[70,100,-40],[39,29,6],[39,92,9]];
var arr2 = [];

理想變成如下:

var2 = [
   [30,70,39,39],
   [-1,100,29,92],
   [90,-40,6,9]
]

最笨的方法:

// 確定新bai數組du有多少zhi行
for(var i=0;i<arr1[0].length;i++){
arr2[i] = [];
}
//遍歷原數組
for(var i=0;i<arr1.length;i++){
for(var j=0;j<arr1[i].length;j++){
arr2[j][i] = arr1[i][j];
  }
}

console.log(arr2);

一個高效方法:

var newArray = arr1[0].map(function (col, i) {
       return arr1.map(function (row) {
           return row[i];
       })
  });
console.log(newArray);

 

 運行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM