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', '*']]
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const transpose = matrix => [...Array(matrix[0].length)].map((_, i) => matrix.map(n => n[i]));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
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=>[]));

Ответ написан
Ваш ответ на вопрос

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

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