TypeScript数组的定义与使用详解

作者:小括号时间:2026-10-25 20:25:11浏览:604

本文详解TypeScript中数组的多种定义方式,包括直接初始化、Array构造函数及泛型声明。重点解析未指定类型时的any推断机制、多维数组(含泛型)构建、类数组处理、解构赋值、接口描述及for...of迭代用法,提供完整代码示例与注意事项。

基本定义

声明数组时直接初始化

// 基本定义
let arr:number[] = [1,2,3];
let arrS: string[] = ["1","2"]

若声明数组时未显式指定类型,TypeScript会将其视为 any 类型。在初始化阶段,系统会根据数组中第一个元素的类型来自动推断整个数组的类型。

访问数组

基本定义

Array对象

除了直接初始化,我们还可以利用 Array 对象来创建数组实例。

Array 对象的构造函数主要接受以下两种参数形式:

  • 一个表示数组预期大小的数值。
  • 一组初始化的数组元素列表,各元素之间使用逗号进行分隔。

声明数组时指定数组大小

var arr:number[] = new Array(10);  
for(var i = 0; i<arr.length; i++) { 
    arr[i] = i * 2 
    console.log(arr[i]) 
}

基本定义

两种定义方式

let arr1:Array<number> = [1,2,3,4,5]
let arr2:number[] = new Array(1,2,3);
console.log("arr1===="+arr1);
console.log("arr2===="+arr2);

基本定义

声明多维数组(含泛型)

这里引用一个较为清晰的示例:

定义一个多维数组:

var arr_name:datatype[][]=[ [val1,val2,val3],[v1,v2,v3] ]

基本定义

普通版

var arr:number[][] = [[1,2,3],[4,5,6]]  
console.log(arr[0][0]) 
console.log(arr[0][1]) 
console.log(arr[0][2]) 
console.log(arr[1][0]) 
console.log(arr[1][1]) 
console.log(arr[1][2])

基本定义

泛型版

// 声明多维数组
let arr:number[][] = [[1,2,3], [4,5,6]];
// 泛型形式声明多维数组(联合类型)
let arr1:Array<Array<number | string>> = [[1,2,3,"123"],[4,5,6,"789"],[]];
console.log(arr)
console.log(arr1)

基本定义

类数组

// 类数组
function Arr(... args:any):void{
    console.log(arguments) //类数组,arguments是参数
    let arr:IArguments = arguments  //用IArguments去接收
}
Arr(1,2,3)  //[Arguments] { '0': 1, '1': 2, '2': 3 }

基本定义

数组解构

// 数组解构
var arr = [12, 13];
var x = arr[0], y = arr[1]; // 将数组的两个元素赋值给变量 x 和 y
console.log(x);
console.log(y);

基本定义

通过接口描述数组

// 通过接口描述数组
interface NumberArray{
    [index:number]:number;  //只要索引的类型是数字,那么值的类型也必须是数字,换成string也是一样的
}
let arr:NumberArray = [1,2,3];
console.log(arr);

基本定义

数组迭代

使用for…of来玩

// 数组迭代
var j:any; 
var nums:number[] = [1,2,3,4] 
for(j in nums) { 
    console.log(nums[j]) 
}

基本定义

到此这篇关于TypeScript数组的定义与使用详解的文章就介绍到这了,更多相关TypeScript数组内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

作者最新文章
相关文章
更多