ts 数组声明方式 ,二维数组,接口,泛型

// 1、数组声明方式:`类型[]` 或者 `Array<类型>`
    let wxidList: number[]
    wxidList = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    console.log('wxidList=', wxidList)

    let wxArr: Array<number> = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    console.log('wxArr=', wxArr)

    let nameList: Array<string>
    nameList = ['jack', 'pink', 'code', 'red']
    console.log('nameList=', nameList)

    let personList: object[] = [
      { firstname: '赵', lastName: '思' },
      { firstname: '李', lastName: '明' },
      { firstname: '相', lastName: '信' }
    ]
    console.log('personList=', personList)

    let userList: Array<object> = [
      { firstname: '赵', lastName: '思' },
      { firstname: '李', lastName: '明' },
      { firstname: '相', lastName: '信' }
    ]
    console.log('userList=', userList)

  // 2、多类型数组
    let qqArr: Array<number | boolean> = [1, 2, 3, 4, 5, 6, 7, 8, true]
    console.log('qqArr=', wxArr)

    let fruitArr: (number | boolean)[] = [1, 2, 3, 4, 5, true]
    console.log('fruitArr=', wxArr)
    

用接口表示数组 - 基础

    /**
     * !!! 必须要这么写哦  !!!
     * 数组类型:拥有一个index类型,是用来索引数组的,所以在定义的时候是 [index:number]
     */
    interface Stu1 {
      [index: number]: number // 冒号右侧这个number,代表这是个number类型的数组
    }
    let stuArr_1: Stu1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, -100]
    console.log('用接口表示数组stuArr_1=', stuArr_1)

    interface Stu2 {
      [index: number]: (number | string)
    }
    let stuArr_2: Stu2 = ['迪迦', '赛罗', 1, 2]
    console.log('用接口表示数组stuArr_2=', stuArr_2)

接口表示数组 - 常用


// 4、接口表示数组 - 进阶
    /**
     * 使用接口定义数组类型时,必须要用,索引签名来定义数组中每个元素的类型
    */
    interface Info2 {
      name: string
      money: number
    }
    interface PerInfo {
      [index: number]: Info2
    }
    const infoArr: PerInfo = [
      { name: 'Alice', money: 25 },
      { name: 'Bob', money: 30 },
      { name: 'Charlie', money: 35 }
    ]
    /*
      定义一个 Info2的接口,表示一个人的类型,
      然后定义一个PerInfo接口,使用索引签名[index: number]来指定数组中每个元素的类型为Info2,
      最后,创建一个infoArr数组,并赋予了一些Info2类型的对象,作为数组的元素
    */

二维数组(使用泛型)

  // 二维数组
    // 使用泛型数组类型,表示更深层次的数组类型
    interface Mrs {
      name: string,
      age: number
    }
    type MrsArray<T> = Array<Array<T>>
    const MrsList1: MrsArray<Mrs> = [
      [{ name: 'Alice', age: 123 }],
      [{ name: 'Blob', age: 456 }, { name: 'Charlie', age: 35 }]
    ]
    /*
      定义一个 Mrs的接口,表示一个人的类型,
      然后,使用泛型数组类型MrsArray<T>来表示更深层的数组类型,其中T表示数组中元素的类型,
      在MrsList1数组的定义中,使用了两层嵌套的数组,每个元素都是Mrs类型的对象。
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值