当前位置: 首页 > 面试题库 >

用javascript中矩阵的列交换(换位)行

苏嘉志
2023-03-14
问题内容

例如,我有一个像这样的矩阵:

|1 2 3|    
|4 5 6|
|7 8 9|

我需要将其转换成这样的矩阵:

|1 4 7|    
|2 5 8|
|3 6 9|

实现此目标的最佳方式是什么?


问题答案:

请参阅文章:在JavaScript和jQuery中转置数组

function transpose(a) {



  // Calculate the width and height of the Array

  var w = a.length || 0;

  var 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;

}



console.log(transpose([[1,2,3],[4,5,6],[7,8,9]]));


 类似资料:
  • 变换矩阵 之前三节所说的坐标变换的三种方式——平移translate(),缩放scale(),以及旋转rotate()都可以通过transform()做到。 在介绍矩阵变换transform()前,我们来说一说什么是变换矩阵。 以上是Canvas中transform()方法所对应的变换矩阵。而此方法正是传入图中所示的六个参数,具体为context.transform(a,b,c,d,e,f)。 各

  • 本文向大家介绍Python 实现交换矩阵的行示例,包括了Python 实现交换矩阵的行示例的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇Python 实现交换矩阵的行示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我正在寻找一种通用的方法来组合两个矩阵,以便两个初始矩阵中的列在新矩阵中交替出现 col1m1。。。col1m2。。。col2m1。。。二氧化碳。。。col3m1。。。col3m2。。。。。。 例如: 我正在寻找一种通用的方法,因为我将有多于3列的矩阵组合。我尝试了一些for循环和一些if语句,但对我来说,它们并没有真正结合在一起。将矩阵与洗牌和交替相结合的搜索也没有被证明是有效的。有什么想法吗?

  • 本文向大家介绍pytorch 转换矩阵的维数位置方法,包括了pytorch 转换矩阵的维数位置方法的使用技巧和注意事项,需要的朋友参考一下 例如: 以上这篇pytorch 转换矩阵的维数位置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • Three.js使用matrix编码3D变换 —— 平移(位置),旋转和缩放。 Object3D的每个实例都有一个matrix,用于存储该对象的位置,旋转和比例。本页介绍如何更新对象的变换。 便利的属性和matrixAutoUpdate(Convenience properties and matrixAutoUpdate) 有两种方法可以更新对象的转换: 修改对象的position,quater

  • 成员变量 变量 类型 名称 备注 matrix Object 矩阵 scale Object 缩放 position Object 位置 rotation Object 旋转 localPivot Object 中枢 localAnchor Object 锚点 矩阵 例子: var tex = new BK.Texture("GameRes://resource/texture/star.png"