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

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

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

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

[[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 ] ]
目录
相关文章
|
17天前
|
Rust JavaScript 前端开发
Node.js 添加对 TypeScript 的实验性支持
Node.js 添加对 TypeScript 的实验性支持
|
23天前
|
JavaScript
js 解析 byte数组 成字符串
js 解析 byte数组 成字符串
|
9天前
|
JavaScript 前端开发 Java
JavaScript笔记(回顾一,基础知识篇)
JavaScript基础知识点回顾,包括语言定义、ECMAScript规范、字面量、变量声明、操作符、关键字、注释、流程控制语句、数据类型、类型转换和引用数据类型等。
JavaScript笔记(回顾一,基础知识篇)
|
1天前
|
存储 JavaScript 前端开发
JavaScript Array(数组) 对象
JavaScript Array(数组) 对象
11 3
|
6天前
|
JavaScript 前端开发 编译器
探索 TypeScript:JavaScript 的超集
TypeScript 是由微软开发的开源编程语言,作为 JavaScript 的严格超集,增加了静态类型系统和对 ES6+ 特性的支持,有效解决了动态类型带来的问题。本文介绍 TypeScript 的核心概念(类型系统、接口、类、模块),探讨其优势(提高代码质量、增强可读性、促进团队协作)及基本用法(安装、配置、编写、编译代码)。此外,还介绍了接口、类、泛型和高级类型等进阶主题,帮助开发者更好地利用 TypeScript 构建健壮的应用。
|
11天前
|
JavaScript
typeScript基础(6)_数组类型
本文介绍了TypeScript中数组的类型表示方法,包括直接使用类型加`[]`定义数组类型,以及使用数组泛型`Array<类型>`定义数组。同时,还展示了如何定义包含多种数据类型的数组。
24 1
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-数组的遍历
关于JavaScript数组遍历基础知识的文章。
30 2
JavaScript基础知识-数组的遍历
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-数组的练习
关于JavaScript基础知识中数组操作的练习,主要介绍了如何从一个包含Person对象的数组中过滤出成年人(年龄达到18岁及以上)并将他们放入一个新的数组中。
28 1
JavaScript基础知识-数组的练习
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-数组的常用方法
关于JavaScript基础知识-数组的常用方法。
18 1
JavaScript基础知识-数组的常用方法
|
1月前
|
JavaScript 前端开发 索引
JavaScript基础知识-数组基于索引访问
关于JavaScript数组基于索引访问的基础知识介绍。
16 1
JavaScript基础知识-数组基于索引访问