Dark_Knight
@Dark_Knight
Game Dev

Как транспонировать матрицу?

Есть массив любой длины, но массивы внутри него всегда будут иметь одинаковую длину. Например
const arr1 = [['a', 'b'], ['1', '2'], ['+', '-']]
или
const arr2 = [['a', 'b', 'c'], ['1', '2', '3'], ['+', '-', '*']]

Надо сделать так, чтобы на входе функция принимала этот массив arr1 или arr2, а результат был следующего вида для arr1:
const result = [['a', '1', '+'], ['b', '2', '-']]
или соответственно для arr2:
const result = [['a', '1', '+'], ['b', '2', '-'], ['c', '3', '*']]
  • Вопрос задан
  • 80 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
const transpose = m => Array.from(
  { length: m.length && m[0].length },
  (_, i) => m.map(n => n[i])
);
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
const pivot = a=>a.reduce((c,e,i)=>(e.forEach((n,j)=>c[j][i]=n),c),a[0].map(z=>[]));

Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы