Swap the rows and columns of a matrix

Transpose a rectangular matrix.

JavaScript Version 1.0.0 · MIT · .md

swap-the-rows-and-columns-of-a-matrix.js
function transpose(matrix) { return matrix[0].map((_, column) => matrix.map(row => row[column])); }

Input & expected output

Input

[
  [
    1,
    2,
    3
  ],
  [
    4,
    5,
    6
  ]
]

Expected output

[
  [
    1,
    4
  ],
  [
    2,
    5
  ],
  [
    3,
    6
  ]
]

The edge case

Input

[
  [
    1
  ]
]

Expected output

[
  [
    1
  ]
]

Know the limits

  • Rows must have the same length; the lab requires a non-empty rectangular matrix.

The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.

Source & maintenance

Based on Swap the rows and columns of a matrix from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.

Validates a non-empty rectangular matrix. Original MDX retained as inert source evidence.

Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.

Local fixture scope · Node.js 22.23.2 · reviewed October 28, 2026. No external service is required.

Keep exploring

Type two or more characters. Try “duplicate”, “webhook” or “retry”.