首页 > 其他分享 >TypeScript系列 4.数组类型

TypeScript系列 4.数组类型

时间:2023-07-12 23:34:55浏览次数:49  
标签:TypeScript 系列 name number let arguments 数组 类型 true

本系列知识部分基于小满 ZS 的TypeScript 系列教程。我也会补充一些视频没有的内容。

数组类型

1. 基本类型

let arr: number[] = [1, 2, 3];
let arr1: boolean[] = [true, true, false];

//使用泛型
let arr2: Array<boolean> = [true, true, false];

2. 对象类型

interface Student {
    name: string;
}
let arr: Student[] = [{ name: "张三" }, { name: "李四" }];

//使用泛型
let arr1: Array<Student> = [{ name: "张三" }, { name: "李四" }];

3. 二维数组

let arr1: number[][] = [
    [1, 2, 3],
    [4, 5, 6],
];

//使用泛型
let arr2: Array<Array<number>> = [
    [1, 2, 3],
    [4, 5, 6],
];

4. 任意类型

let arr8: any[] = [1, "sss", {}]

5. 混合类型数组

使用元组定义混合类型

let arr9: [number, string, {}] = [1, "sss", {}]

6. 函数剩余参数

函数剩余参数,也是可以被约束类型的。

//计算传入数值的和
function sum(...args: number[]) {
    return args.reduce((pre, cur) => {
        return pre + cur;
    });
}

7. arguments

在ES6之前,是没有剩余参数的,可以使用arguments,获取全部参数(ES6之后依然有效)。

ts中为arguments提供了一个接口叫IArguments,可以使用这个接口来引用arguments

function fn(...args: any[]) {
    let a: IArguments = arguments;
}

模拟IArguments

IArguments 可替换为下面的接口,主要就是callee、length和索引签名

interface A {
    callee: Function;
    length: number;
    [index: number]: any;
}

标签:TypeScript,系列,name,number,let,arguments,数组,类型,true
From: https://www.cnblogs.com/sq800/p/17549162.html

相关文章

  • 欧姆龙CJ系列PLC以太网通讯处理器欧姆龙cp2e以太网通讯
    捷米特JM-ETH-CJ转以太网模块是一款经济型的以太网通讯处理器,是为满足日益增多的工厂设备信息化需求(设备网络监控和生产管理)而设计,用于欧姆龙CJ1/CJ2/CS1系列PLC的以太网数据采集,非常方便构建生产管理系统。 捷米特JM-ETH-CJ转以太网模块采用即插即用设计,不占用PLC通讯口,即编......
  • TypeScript中的基本类型
    TypeScript中的基本类型:类型声明类型声明是TS非常重要的一个特点;通过类型声明可以指定TS中变量(参数、形参)的类型;指定类型后,当为变量赋值时,TS编译器会自动检查值是否符合类型声明,符合则赋值,否则报错;简而言之,类型声明给变量设置了类型,使得变量只能存储某种类型的值;......
  • 线段树模板 洛谷P3374 【模板】树状数组 1
    题目传送门题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某一个数加上x2.求出某区间每一个数的和输入格式第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3......
  • 分块数组
    给定一个数组 arr 和一个块大小 size ,返回一个分块 的数组。分块 的数组包含了 arr 中的原始元素,但是每个子数组的长度都是 size 。如果 arr.length 不能被 size 整除,那么最后一个子数组的长度可能小于 size 。你可以假设该数组是 JSON.parse 的输出结果。换......
  • iOS MachineLearning 系列(3)—— 静态图像分析之区域识别
    iOSMachineLearning系列(3)——静态图像分析之区域识别本系列的前一篇文章介绍了如何使用iOS中自带的API对图片中的矩形区域进行分析。在图像静态分析方面,矩形区域分析是非常基础的部分。API还提供了更多面向应用的分析能力,如文本区域分析,条形码二维码的分析,人脸区域分析,人体分析......
  • 不确定大小的数组怎么办?Java中三种常用的方法
    Java中如何操作不确定大小的数组1. 前言 1.1 什么是数组数组是一种存储多个相同类型数据的有序集合,它可以通过索引来访问每个元素。数组是一种引用类型的变量,它在内存中占用一块连续的空间。 1.2  数组的特点数组有以下几个特点:-数组的长度是确定的,一旦创建就不能......
  • Java复制(拷贝)数组的4种方法:arraycopy()方法、clone() 方法、copyOf()和copyOfRange
    http://c.biancheng.net/view/924.html所谓复制数组,是指将一个数组中的元素在另一个数组中进行复制。本文主要介绍关于 Java 里面的数组复制(拷贝)的几种方式和用法。在Java中实现数组复制分别有以下4种方法:Arrays类的copyOf()方法Arrays类的copyOfRange()方法Syst......
  • RSA刷题系列
    1,共享素数1)[闽盾杯2021]decode题目:n1:15228664629164509105936278301396170708905691970126305196584505186788860519598413718493859625462561931380632032431490419378905593909771649295663481782473029836321132574188559245931660756414915507930357509270674460219615......
  • LeetCode 剑指 Offer 11. 旋转数组的最小数字
    题目链接:LeetCode剑指Offer11.旋转数组的最小数字题意:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [......
  • 树状数组学习笔记与总结
    树状数组学习笔记与总结目录树状数组OIWiki信息学奥赛一本通例题单点修改,区间查询区间修改,单点查询区间修改,区间查询树状数组OIWikiOIWiki-树状数组信息学奥赛一本通例题单点修改,区间查询LibreOJ树状数组1:单点修改,区间查询我的代码点击查看代码#include<......