Nodejs Array Transpose transpose()

Here you can find the source of transpose()

Method Source Code

/**//from   ww  w  . j  a v  a 2s .c om
 * Transposes a given array.
 * @id Array.prototype.transpose
 * @author Shamasis Bhattacharya
 *
 * @type Array
 * @return The Transposed Array
 * @compat=ALL
 */
Array.prototype.transpose = function() {

  // Calculate the width and height of the Array
  var a = this,
    w = a.length ? a.length : 0,
    h = a[0] instanceof Array ? a[0].length : 0;

  // In case it is a zero matrix, no transpose routine needed.
  if(h === 0 || w === 0) { return []; }

  /**
   * @var {Number} i Counter
   * @var {Number} j Counter
   * @var {Array} t Transposed data is stored in this array.
   */
  var i, j, t = [];

  // Loop through every item in the outer array (height)
  for(i=0; i<h; i++) {

    // Insert a new row (array)
    t[i] = [];

    // Loop through every item per item in outer array (width)
    for(j=0; j<w; j++) {

      // Save transposed data.
      t[i][j] = a[j][i];
    }
  }

  return t;
};

Related

  1. transpose()
    Array.prototype.transpose = function () {
      var transposed = [];
      for (var i = 0; i < this.length; i++) {
        transposed[i] = this[i].slice();
      for (var i = 0; i < this.length; i++) {
        for (var j = 0; j < this.length; j++) {
          transposed[j][i] = this[i][j];
        };
    ...
    
  2. transpose()
    Array.prototype.transpose = function () {
      var result = []
      for (var row = 0; row < this.length; row++) {
        for (var col = 0; col < this[0].length; col++) {
          if (!result[col]) {
            result[col] = [this[row][col]]
          } else {
            result[col].push(this[row][col])
      return result;
    
  3. transpose()
    Array.prototype.transpose = function() {
      for(let i = 0; i < this.length; i++){
        for(let j = 0; j < i; j++){
          let temp = this[i][j];
          this[i][j] = this[j][i];
          this[j][i] = temp;
      return this;
    ...
    
  4. transpose()
    Array.prototype.transpose = function() {
      var a = this,
        w = a.length ? a.length : 0,
        h = a[0] instanceof Array ? a[0].length : 0;
      if(h === 0 || w === 0) { return []; }
      var i, j, t = [];
      for(i=0; i<h; i++) {
        t[i] = [];
        for(j=0; j<w; j++) {
    ...
    
  5. transpose()
    "use strict";
    Array.prototype.transpose = function (){
      const columns = [];
      for( let i = 0; i < this[0].length; i++){
        columns.push([]);
      for( let i = 0; i < this.length; i++){
        for(let j = 0; j < this.length; j++){
          columns[j].push(this[i][j]);
    ...
    
  6. transpose()
    Array.prototype.transpose = function (){
      const cols = this[0].length;
      const rows = this.length;
      let result = Array(rows).fill().map(() => Array());
      this.forEach(function (row){
        row.forEach(function (num, index){
          result[index].push(num);
        });
      });
    ...
    
  7. transpose()
    Array.prototype.transpose = function() {
      var result = [];
      if (!(this instanceof Array))
        return result;
      if (this.length == 0)
        return result;
    ...
    
  8. transpose()
    Array.prototype.transpose = function() {
      var a = this,
          w = a.length ? a.length : 0,
        h = a[0] instanceof Array ? a[0].length : 0;
      if(h === 0 || w === 0) { return []; }
      var i, j, t = [];
      for(i=0; i<h; i++) {
        t[i] = [];
        for(j=0; j<w; j++) {
    ...