matrix-transpose
Version:
Transposes a matrix by switching the row and column indices of a multidimensional array.
35 lines (30 loc) • 1.21 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.MatrixTranspose = {}));
})(this, (function (exports) { 'use strict';
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;
}
exports.transpose = transpose;
Object.defineProperty(exports, '__esModule', { value: true });
}));
//# sourceMappingURL=matrix-transpose.js.map