UNPKG

matrix-transpose

Version:

Transposes a matrix by switching the row and column indices of a multidimensional array.

25 lines (24 loc) 715 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.transpose = transpose; function transpose(matrix, options) { if (options === void 0) { options = {}; } var rowsCount = matrix.length; var output = []; var excludeEmpty = options.excludeEmpty; for (var r = 0; r < rowsCount; r++) { var row = matrix[r]; var columnsCount = row.length; for (var c = 0; c < columnsCount; c++) { var item = row[c]; output[c] = output[c] || []; if (excludeEmpty) { output[c].push(item); } else { output[c][r] = item; } } } return output; }