npm.io
1.1.0 • Published 5 years ago

@mightyplow/matrix

Licence
ISC
Version
1.1.0
Deps
0
Size
21 kB
Vulns
0
Weekly
0

@mightyplow/matrix

This class helps handling 2-dimensional arrays (=> a matrix). It provides methods to retrieve data about the matrix as well as manipulating the matrix data.

The module can be used with node directly and with bundlers. For bundlers it ships with minified ES5 compatible code. For node it is transpiled for compatibility with version 5 and above.

Installation

npm install -P @mightyplow/matrix

Matrix

new Matrix(initialData)

Creates an instance of the Matrix class. This constructor function can be used with and without the new keyword.

Param Type
initialData Array.<Array.<any>>

matrix.numCols : int

Returns the number of columns.

matrix.numRows : int

Returns the number of rows.

matrix.getData() ⇒ Array.<Array.<any>>

Returns the 2-dimensional array.

matrix.setData([data]) ⇒ Array.<Array.<any>>

Sets the 2-dimensional array.

Param Type Default
[data] Array.<Array.<any>> []

matrix.clear() ⇒ Array.<Array.<any>>

Removes all data in matrix and leaves behind an empty array.

matrix.getRow(rowNum) ⇒ Array.<any>

Returns a single specific row of the matrix. When passing a negative number, it is counted from the end.

Throws:

  • Error
Param Type
rowNum int

matrix.getRows([length], [startRow]) ⇒ Array.<Array.<any>>

Returns multiple specific rows of the matrix.

Param Type Default
[length] int this.numRows
[startRow] int 0

matrix.insertRows([rows], [startRow]) ⇒ Array.<Array.<any>>

Insert multiple rows at a given point in the matrix.

Param Type Default
[rows] Array.<any> []
[startRow] int this.numRows

matrix.deleteRows(startRow, [length]) ⇒ Array.<Array.<any>>

Deletes multiple rows at a given point in the matrix and returns the deleted rows.

Returns: Array.<Array.<any>> - deleted rows
Throws:

  • Error
Param Type Default
startRow int
[length] int 1

matrix.getCol(colNum) ⇒ Array.<any>

Returns a single specific column of the matrix. When passing a negative number, it is counted from the end.

Throws:

  • Error
Param Type
colNum int

matrix.getCols([length], [startCol]) ⇒ Array.<Array.<any>>

Returns multiple specific columns of the matrix.

Param Type Default
[length] int this.numCols
[startCol] int 0

matrix.insertCols([cols], [startCol]) ⇒ Array.<Array.<any>>

Insert multiple columns at a given point in the matrix.

Param Type Default
[cols] Array.<any> []
[startCol] int this.numRows

matrix.deleteCols(startCol, [length]) ⇒ Array.<Array.<any>>

Deletes multiple columns at a given point in the matrix and returns the deleted rows.

Returns: Array.<Array.<any>> - deleted rows
Throws:

  • Error
Param Type Default
startCol int
[length] int 1

matrix.rotateCw() ⇒ Array.<Array.<any>>

Rotates the matrix clockwise.

matrix.rotateCcw() ⇒ Array.<Array.<any>>

Rotates the matrix counter clockwise.

matrix.flipH() ⇒ Array.<Array.<any>>

Flips the matrix horizontally.

matrix.flipV() ⇒ Array.<Array.<any>>

Flips the matrix vertically.