transpose.js 356 B

123456789101112131415
  1. import min from "./min";
  2. export default function(matrix) {
  3. if (!(n = matrix.length)) return [];
  4. for (var i = -1, m = min(matrix, length), transpose = new Array(m); ++i < m;) {
  5. for (var j = -1, n, row = transpose[i] = new Array(n); ++j < n;) {
  6. row[j] = matrix[j][i];
  7. }
  8. }
  9. return transpose;
  10. }
  11. function length(d) {
  12. return d.length;
  13. }