30 lines
715 B
JavaScript
30 lines
715 B
JavaScript
function Matrix(ary) {
|
|
this.mtx = ary
|
|
this.height = ary.length;
|
|
this.width = ary[0].length;
|
|
}
|
|
|
|
Matrix.prototype.toString = function() {
|
|
var s = []
|
|
for (var i = 0; i < this.mtx.length; i++)
|
|
s.push( this.mtx[i].join(",") );
|
|
return s.join("\n");
|
|
}
|
|
|
|
// returns a new matrix
|
|
Matrix.prototype.transpose = function() {
|
|
var transposed = [];
|
|
for (var i = 0; i < this.width; i++) {
|
|
transposed[i] = [];
|
|
for (var j = 0; j < this.height; j++) {
|
|
transposed[i][j] = this.mtx[j][i];
|
|
}
|
|
}
|
|
return new Matrix(transposed);
|
|
}
|
|
|
|
var m = new Matrix([[1,1,1,1],[2,4,8,16],[3,9,27,81],[4,16,64,256],[5,25,125,625]]);
|
|
print(m);
|
|
print();
|
|
print(m.transpose());
|