UNPKG

matrix-transpose

Version:

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

35 lines (30 loc) 1.21 kB
(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