Skip to content

Instantly share code, notes, and snippets.

@femto113
Last active September 6, 2023 00:28
Show Gist options
  • Save femto113/1784503 to your computer and use it in GitHub Desktop.
Save femto113/1784503 to your computer and use it in GitHub Desktop.
one line transpose for 2-dimensional Javascript arrays
function transpose(a)
{
return a[0].map(function (_, c) { return a.map(function (r) { return r[c]; }); });
// or in more modern dialect
// return a[0].map((_, c) => a.map(r => r[c]));
}
@femto113
Copy link
Author

femto113 commented Jul 31, 2017

@tatomyr empty arrays (or non-2-dimensional arrays) a legit concern for a library method, not sure if it's important for a one liner. Probably best dealt with something like this

function transpose(a)
{
  return a && a.length && a[0].map && a[0].map(function (_, c) { return a.map(function (r) { return r[c]; }); }) || [];
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment