This function swaps the rows and columns of a 2D array, also known as ‘transposing’ a matrix.
JavaScript:
let transpose = matrix => matrix[0].map((col, i) => matrix.map(row => row[i]));
// Example
console.log(transpose([[1,2,3], [4,5,6], [7,8,9]])); // [[1,4,7], [2,5,8], [3,6,9]]
console.log(transpose([['a', 'b'], ['c', 'd'], ['e', 'f']])); // [['a', 'c', 'e'], ['b', 'd', 'f']]
TypeScript:
let transpose = (matrix: T[][]): T[][] => matrix[0].map((col, i) => matrix.map(row => row[i]));
// Example
console.log(transpose([[1,2,3], [4,5,6], [7,8,9]])); // [[1,4,7], [2,5,8], [3,6,9]]
console.log(transpose([['a', 'b'], ['c', 'd'], ['e', 'f']])); // [['a', 'c', 'e'], ['b', 'd', 'f']]