Swap the rows and columns of a matrix
Transpose a rectangular matrix.
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.
Keep exploring
- Clone an array — Create a new array without copying the objects inside it.
- Remove duplicate values — Keep the first occurrence of each value, in its original order.
- Flatten a nested array — Turn a nested array into one sequence of values.