[小笔记]TypeScript/JavaScript数组转置


CSDN:jcLee95

邮箱:291148484@163.com

在代数中,矩阵一个是一个方形数组,它由若干个长度相等的子数组构成。所谓转置指的是将一个矩阵中元素的行与列进行互换,就像将将一个矩形沿着对角线翻转一样,如:

[[1,2,3],[4,5,6],[7,8,9]]

翻转后:

[[1,4,7][2,5,8][3,6,9]]

TypeScript

// 转置一个矩阵型数组
export const T = (ary: any[])=>{/** 转置一个二维矩阵的本质就是改变其子数组的结构,* 即将原矩阵的行与列在结构上进行互换:*  - 新子数组的个数为原任意一个子数组的长度;*  - 新任意一个子数组的元素皆依次取自于原每一个子数组。* 需要一个二层循环:*  - 内层循环构造一个子数组,即从原子数组逐个取出同位序元素;*  - 外层循环收集所有子数组。*/let ar = []     // 转置后的数组for(let i=0; i<ary[0].length; i++){let cd = []   // 某个新子数组for(let j=0;j<ary.length;j++){cd.push(ary[j][i])}ar.push(cd)}return ar
}

JavaScript

// 转置一个矩阵型数组
var T = function (ary) {/** 转置一个二维矩阵的本质就是改变其子数组的结构,* 即将原矩阵的行与列在结构上进行互换:*  - 新子数组的个数为原任意一个子数组的长度;*  - 新任意一个子数组的元素皆依次取自于原每一个子数组。* 需要一个二层循环:*  - 内层循环构造一个子数组,即从原子数组逐个取出同位序元素;*  - 外层循环收集所有子数组。*/var ar = []; // 转置后的数组for (var i = 0; i < ary[0].length; i++) {var cd = []; // 某个新子数组for (var j = 0; j < ary.length; j++) {cd.push(ary[j][i]);}ar.push(cd);}return ar;
};

用例

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

Out[]:

[ [ 1, 4, 7 ], [ '2', 5, [ '8' ] ], [ 3, 6, 9 ] ]

[小笔记]TypeScript/JavaScript数组转置相关推荐

  1. [小笔记]TypeScript/JavaScript模拟Python中的Range函数

    [小笔记]TypeScript/JavaScript 模拟Python中的Range函数 李俊才/CSDN博客 CSDN用户名:jcLee95 邮箱:291148484@163.com 原创不易,感谢 ...

  2. [小笔记]TypeScript/JavaScript映射两组数据

    [小笔记]TypeScript/JavaScript映射两组数据 李俊才/CSDN博客 CSDN用户名:jcLee95 邮箱:291148484@163.com [需求]在Python3中有一个函数是 ...

  3. 一个PHP使用重新整理数组的小笔记

    一个PHP使用重新整理数组的小笔记 今天写PHP的时候,因为写好的一个库接受的一个数组参数中,第一个元素不符合那个函数的要求,所以要unset掉.于是我unset(0);但是这个操作之后发现数组中的0 ...

  4. javaScript数组操作--有道笔记整理

    javascript之数组操作 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一 ...

  5. JavaScript笔记6(数组,foreach(),slice(),splice(),数组的剩余方法,函数的方法call和apply ,arguments,Date对象,Math,字符串的相关方法)

    JavaScript 数组(Array) forEach(),slice(),splice() 数组的剩余方法 函数的方法call()和apply() arguments Date对象 Math 字符 ...

  6. 小程序 Typescript 最佳实践

    小程序结合TypeScript开发,如果用第三方框架,首选Taro已完美支持.但是如果你选择原生开发,那么下面的这份实践可能会帮到你. 小程序 Typescript 最佳实践 使用 gulp 构建(支 ...

  7. [JavaScript] JavaScript数组挖掘,不只是讲数组哟(2)

    课程来源:后盾人 上一篇的内容:[JavaScript] JavaScript数组挖掘,不只是讲数组哟 数组引用类型分析,多维数组,用Array.of为数组创建细节,类型检测与转换,在一个数组后面加一 ...

  8. [JavaScript] JavaScript 数组挖掘,不只是讲数组哟

    课程来源:后盾人 数组引用类型分析 数组的定义 const array = new Array('hello', 'dust', 1, 2, 3, 4, 5) console.log(array) l ...

  9. 创建零填充JavaScript数组的最有效方法?

    在JavaScript中创建任意长度的零填充数组的最有效方法是什么? #1楼 使用对象符号 var x = []; 零填充? 喜欢... var x = [0,0,0,0,0,0]; 充满" ...

最新文章

  1. 如何将模糊的图片变得清晰
  2. HDU - 2041 - 超级楼梯(dp)
  3. 对PostgreSQL的 ctid 的初步认识
  4. 《Linux内核设计与实现》读书笔记(十七)- 设备与模块
  5. matlab regionprops区域属性信息
  6. 事件EVENT,WaitForSingleObject(),WaitForMultipleObjecct()和SignalObjectAndWait() 的使用(下)
  7. Sicily-1063
  8. 05-02 docker 安装与配置-CentOS
  9. 【Mybatis】mybatis的小细节
  10. 编写VTK文件,导入paraview显示
  11. 中首清算:她被誉为中国第一美女,迷倒国际花花公子,今36岁仍单身
  12. LEADER_NOT_AVAILABLE
  13. 微信公众号自定义分享实现(开发者)
  14. Python含金量较高的证书以及学习困难盘点!
  15. 【第一部分-环境搭建】Opencv环境搭建(Visual Studio+Windows)
  16. 做题两大解题思想 by zyz on 2021/4/11
  17. 手把手教你设计SNS社区【1】
  18. 三国志英杰传--单挑表和宝物列表
  19. 别只会搜日志了,求你懂点原理吧(超详细)
  20. 联想笔记本升级win10后黑屏无法开机解决方案

热门文章

  1. MOQL—筛选器(Selector)(一)
  2. 【动态规划】LeetCode 62. Unique Paths
  3. Win10+Anaconda创建新环境安装pytorch
  4. pattern recognition letter 投稿时word 模板的说明乱码
  5. 《软技能—代码之外的生存指南》
  6. 【BZOJ4378】[POI2015]Logistyka 树状数组
  7. eclipse下的tomcat内存设置大小(转)
  8. 手机端图片滑动切换效果
  9. JSTL使用总结(2) fmt标签库和fn标签库
  10. 在LoadRunner里何时该用 .NET Vuser协议?