@mightyplow/matrix
v1.1.0
Published
A class which helps handling 2-dimensional arrays.
Downloads
2
Readme
@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
- Matrix
- new Matrix(initialData)
- .numCols : int
- .numRows : int
- .getData() ⇒ Array.<Array.<any>>
- .setData([data]) ⇒ Array.<Array.<any>>
- .clear() ⇒ Array.<Array.<any>>
- .getRow(rowNum) ⇒ Array.<any>
- .getRows([length], [startRow]) ⇒ Array.<Array.<any>>
- .insertRows([rows], [startRow]) ⇒ Array.<Array.<any>>
- .deleteRows(startRow, [length]) ⇒ Array.<Array.<any>>
- .getCol(colNum) ⇒ Array.<any>
- .getCols([length], [startCol]) ⇒ Array.<Array.<any>>
- .insertCols([cols], [startCol]) ⇒ Array.<Array.<any>>
- .deleteCols(startCol, [length]) ⇒ Array.<Array.<any>>
- .rotateCw() ⇒ Array.<Array.<any>>
- .rotateCcw() ⇒ Array.<Array.<any>>
- .flipH() ⇒ Array.<Array.<any>>
- .flipV() ⇒ Array.<Array.<any>>
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.