1.2.0 • Published 3 years ago
class-matrix v1.2.0
Matrix - class for two dimension array
V1.20 : methods for math added. Refer to the function list below.
- Easy as original Javascript prototype functions
- All the same prototype functions of array for two dimensional arrays with adjusted arguments
- Added functions only for this class
< Install >
needed only for node.js
$ npm i class-matrix < Use - node.js >
- common JS
const Matrix = require('class-matrix');- ESM
import Matrix from 'class-matrix';< Use - browser >
- Link in \<head> tag
<script src="./matrix-js-link.min.js"></script>import in a module file
import { Matrix } from './matrix-js-module.min.js';< Methods >
- INIT & VALUE
new Matrix
.row
.column
getter value
setter value
getValueOf()
setValueOf() - CHECK & FIND
Matrix.isMatrix()
at()
find()
findLast()
findIndex()
findLastIndex()
indexOf()
lastIndexOf()
includes()- NEW STRUCTURE
concat()
flat()
join()
toString()
slice()- ITERATE
forEach()
map()
reduce()
reduceRight()
filter()
every()
some()- CHANGE IN PLACE
fill()
pop()
push()
shift()
unshift()
splice()
sort()
reverse()
copyWithin()- CHANGE IN PLACE
fill()
pop()
push()
shift()
unshift()
splice()
sort()
reverse()
copyWithin()- GENERATOR
keys()
values()
entries()- MATH
det()
cofactors()
transpose()
adjoint()
inverse()
add()
subtract()
multiply()
divide()All the prototype functions are rebuilt for this class.\ In most cases, an index in callback function is seperated into a row index and a column index\ Some prototype functions are added only for matrix class
< EXAMPLE >
let matrixA = new Matrix(3,3).fill((el,[i,j])=>i+j);| 0 | 1 | 2 |
|---|---|---|
| 1 | 2 | 3 |
| 2 | 3 | 4 |
console.log(matrixA.getValueOf([2,2]));4
matrixA.setValueOf([2,2],9);
console.log(matrixA.value);| 0 | 1 | 2 |
|---|---|---|
| 1 | 2 | 3 |
| 2 | 3 | 9 |
matrixA.value = [[0,1],[2,3],[4,5]];
console.log(matrixA.value);
console.log(`row = ${matrixA.row}, column = ${matrixA.column}`);
// if you set value directly, it would change the structure of the matrix| 0 | 1 |
|---|---|
| 2 | 3 |
| 4 | 5 |
row = 2, column = 2
matrixA.forEach((el, [i,j])=>{
console.log(`[${i},${j}] = ${el}`);
});0,0 = 0
0,1 = 1
0,2 = 2
1,0 = 1
1,1 = 2
1,2 = 3
2,0 = 2
2,1 = 3
2,2 = 4