Skip to content

Commit 6ceb9ac

Browse files
committed
Fix issue jstat#12
1 parent d58c65a commit 6ceb9ac

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

src/core.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -269,13 +269,18 @@ jStat.extend({
269269

270270
// map a function to a matrix or vector
271271
map : function( arr, func, toAlter ) {
272-
var len = arr.length,
272+
if ( !isArray( arr[0] )) arr = [ arr ];
273+
var row = 0,
274+
nrow = arr.length,
275+
ncol = arr[0].length,
273276
res = toAlter ? arr : [],
274-
i = 0;
275-
for ( ; i < len; i++ )
276-
if ( isArray( arr[i] )) res[i] = jStat.map( arr[i], func, toAlter );
277-
else res[i] = func( arr[i], i, arr );
278-
return res;
277+
col;
278+
for ( ; row < nrow; row++ ) {
279+
if ( !res[row] ) res[row] = [];
280+
for ( col = 0; col < ncol; col++ )
281+
res[row][col] = func( arr[row][col], row, col );
282+
}
283+
return res.length === 1 ? res[0] : res;
279284
},
280285

281286
// destructively alter an array

0 commit comments

Comments
 (0)