跳到主要内容

TypeScript 数组类型

简介:在本教程中,你将了解 TypeScript 中的 array 类型及其基本操作。

TypeScript 数组类型介绍

TypeScript 中的数组是有序的数据列表。要声明一个包含特定类型值的数组,可以使用以下语法:

let arrayName: type[];

例如,下面声明了一个字符串数组:

let skills: string[];

你可以向数组中添加一个或多个字符串:

skills[0] = "Problem Solving";
skills[1] = "Programming";

或使用 push() 方法:

skills.push('Software Design');

下面声明一个变量并为其赋值了一个字符串数组:

let skills = ['Problem Sovling','Software Design','Programming'];

在此示例中,TypeScript 将 skills 数组推断为字符串数组。它等效于以下内容:

let skills: string[];
skills = ['Problem Sovling','Software Design','Programming'];

一旦你定义了一个特定类型的数组,TypeScript 将阻止你向数组添加不兼容的值。

以下操作将触发错误:

skills.push(100);

因为我们正在尝试向字符串数组添加一个数字。

错误:

Argument of type 'number' is not assignable to parameter of type 'string'.

当你从数组中提取元素时,TypeScript 可以进行类型推断。例如:

let skill = skills[0];
console.log(typeof(skill));

输出:

string

在此示例中,我们提取 skills 数组的第一个元素并将其分配给 skill 变量。

由于字符串数组中的元素是字符串,TypeScript 将 skill 变量的类型推断为字符串,如输出所示。

TypeScript 数组的属性和方法

TypeScript 数组可以访问 JavaScript 的属性和方法。例如,以下使用 length 属性获取数组中元素的数量:

let series = [1, 2, 3];
console.log(series.length); // 3

你可以使用所有有用的数组方法,例如 forEach()map()reduce()filter()。例如:

let series = [1, 2, 3];
let doubleIt = series.map(e => e* 2);
console.log(doubleIt);

输出:

[ 2, 4, 6 ] 

存储混合类型的值

下面展示了如何声明一个包含字符串和数字的数组:

let scores = ['Programming', 5, 'Software Design', 4];

在这种情况下,TypeScript 将 scores 数组推断为 string | number 组成的数组。

它等效于以下内容:

let scores : (string | number)[];
scores = ['Programming', 5, 'Software Design', 4];

概括

  • 在 TypeScript 中,数组是值的有序列表。数组可以存储混合类型的值。
  • 要声明特定类型的数组,可以使用 let arr: type[] 语法。