Matrix transposition: Difference between revisions

add JavaScript
(add JavaScript)
Line 473:
}
}</lang>
 
=={{header|JavaScript}}==
{{works with|SpiderMonkey}} for the print() function.
<lang javascript>function Matrix(ary) {
this.mtx = ary
this.height = ary.length;
this.width = ary[0].length;
 
this.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);
}
 
this.toString = function() {
var s = []
for (var i = 0; i < this.mtx.length; i++)
s.push( this.mtx[i].join(",") );
return s.join("\n");
}
}
 
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.toString());
print();
print(m.transpose().toString());</lang>
 
produces
<pre>1,1,1,1
2,4,8,16
3,9,27,81
4,16,64,256
5,25,125,625
 
1,2,3,4,5
1,4,9,16,25
1,8,27,64,125
1,16,81,256,625</pre>
 
=={{header|Mathematica}}==
Anonymous user