美文网首页
数组和元组

数组和元组

作者: 泡杯感冒灵 | 来源:发表于2022-04-08 16:12 被阅读0次
TypeScript里如何对数组和元组进行类型注解
  • TypeScript 里的数组,实际上和JS里的数组完全是一样的。
  • 如下图:TS会根据数组和数组里元素的类型,对arr进行类型推断,推断arr为数字构成的数组。


    image.png
  • 也可以手动去给arr设置类型注解
const arr:number[] = [1, 2, 3];
  • 当然 arr这个数组里的元素,除了number类型,可能会包含其他类型的元素,比如字符串。那这个时候,类型注解该怎么写呢?
const arr:(number|string)[] = [1, 2, "3"];
  • 字符串数组
const stringArr: string[] = ["a", "b"];
  • undefined数组
const undefinedArr: undefined[] = [undefined,undefined]
  • 对象数组
// 规定objectArr数组存储的必须是对象,而且对象的属性必须是那么和age,同时规定了name和age的类型。
const objectArr: {name:string,age:number}[] = [{name:'yang',age:20}]
类型别名 type alias
  • 上边对象数组的类型注解看起来不太容易看懂,通过类型别名来定义一个类型的名字。
type User = { name: string; age: number };

// objectArr 数组里存储的每一项类型必须是 User类型
const objectArr: User[] = [{name:'yang',age:20}]
class类型
class Teacher {
  name: string;
  age: number;
}

// 虽然objectArr被类型注解了是一个Teacher类的数组
// 当数组里是给的一个对象,对象数据结构和class保持一致的时候,TS也认为是符合class类的,并不一定非要通过new Teacher去生成每一个数组元素。
const objectArr: Teacher[] = [
  new Teacher(),
  { name: 'yang', age: 20 }
]
元组 tuple
// 正常情况下,teacherInfo根据后边的值就可以类型推断为(number | string)[]
// 但是这样的类型推断,不能保证数组里具体位置的元素是什么类型
const teacherInfo:(number | string)[] = ['yang', 'male', 18];
  • 一个数组,它的长度是固定的,数组里每个元素的类型是固定的,这个时候,我们可以把他变成元组进行管理,可以更准确的约束数组中每项类型。
// teacherInfo 的类型注解为元组,规定了元组元素第一个,第二个为字符串,第三个元素为数字
const teacherInfo:[string, string, number] = ['yang', 'male', 18];
  • 元素应用场景是用来处理CSV,excel导出的文件,产生的数据结构,在转换成JS的时候,用元组管理会很方便
const teacherList:[string,string,number][] = [
  ['yang', 'male', 18],
  ['wang', 'female', 20],
  ['huang', 'female', 22]
]

相关文章

  • 数组和元组

    TypeScript里如何对数组和元组进行类型注解 TypeScript 里的数组,实际上和JS里的数组完全是一样...

  • scala中的模式匹配

    一、常量、类型匹配 二、 数组列表和元组匹配 1. 数组 2. 元组 3. 列表

  • scala入门(2)

    3.数组、映射、元组、集合 3.1数组 3.1.1定长数组和变长数组 object ArrayDemo {def ...

  • 数组和元组之间的区别是什么?

    数组和元组之间的区别:数组内容是可以被修改的,而元组内容是只读的。另外,元组可以被哈希,比如作为字典的关键字。

  • Swift之学习元组、闭包(block)、结构体

    元组:tupleSwift元组和oc的数组和字典很相像,但又有很大差别;1、元组可以放不同数据类型的元素2、元组的...

  • typescript类型

    布尔、字符串、数字、数组、对象在原生数组的基础上 元组 Tuple 元组类型允许表示一个已知元素数量和类型的数组,...

  • 数组和元组的不同

    1. 数组中只有一个元素,type为数组;元组只有一个元素且没有逗号,type为对应元素的类型 2. 数组中的元素...

  • Swift 数据类型的使用(一)

    数组、字符串、元组 数组-### 数组的创建 数组遍历 1.最普通的遍历 2.遍历的时候,同时获得索引和值//使用...

  • Swift(1)

    变量和常量 字符串 数组 字典 空格 元组 分支结构 枚举 函数

  • python numpy-shape函数

    以元组形式返回数组各个维度的元素个数 一维数组 输出 二维数组 输出 通过返回的元组,可看出这个二维数组中,一维是...

网友评论

      本文标题:数组和元组

      本文链接:https://www.haomeiwen.com/subject/yshssrtx.html