diff --git a/src/type/matrix/DenseMatrix.js b/src/type/matrix/DenseMatrix.js index af52db8c50..b78fc9acba 100644 --- a/src/type/matrix/DenseMatrix.js +++ b/src/type/matrix/DenseMatrix.js @@ -600,8 +600,18 @@ export const createDenseMatrixClass = /* #__PURE__ */ factory(name, dependencies */ DenseMatrix.prototype.map = function (callback) { const me = this + const size = me._size + const maxDepth = size.length + + if (maxDepth === 0) return me.clone() + const result = new DenseMatrix(me) const fastCallback = optimizeCallback(callback, me._data, 'map') + if (maxDepth === 1) { + return new DenseMatrix( + me._data.map((value, index) => fastCallback(value, [index], me)) + ) + } result._forEach(function (arr, i, index) { arr[i] = fastCallback(arr[i], index, me)