nowjs-core
Version:
NowCanDo Javascript Core [nowjs-core] is a library written by TypeScript code maintains under Apache 2.0 licence
29 lines (28 loc) • 1.15 kB
TypeScript
export declare class Matrix<T> implements Iterable<T> {
private rowSize;
private colSize;
protected arr: T[][];
constructor(rowSize?: number, colSize?: number, ...rows: T[][]);
get IsSquare(): boolean;
get ColSize(): number;
get RowSize(): number;
set(value: T, row: number, col: number): void;
getElement(row: number, col: number): T;
getSize(): number[];
get(row?: number, col?: number): T | T[];
getColumn(col: number): T[];
getRow(row: number): T[];
forEachRow(fn: (index: number, item: T[], items: T[][]) => void): this;
replaceEachRow(fn: (index: number, item: T[], items: T[][]) => void): this;
[Symbol.iterator](): IterableIterator<T>;
rotateLeft(times: number): Matrix<T>;
rotateRight(times: number): Matrix<T>;
reverse(): Matrix<T>;
transpose(): Matrix<T>;
toArray(): T[][];
protected swapValues(firstRow: number, firstCol: number, secondRow: number, secondCol: number): void;
protected checkColumnIndex(col: number): void;
protected checkRowIndex(row: number): void;
protected checkIndexes(row: number, col: number): void;
private init;
}