摘要:在本教程中,您将学习 TypeScript 数组
类型及其基本操作。
TypeScript 数组类型简介
TypeScript 数组
是有序的数据列表。要声明一个保存特定类型值的数组,可以使用以下语法
let arrayName: type[];
Code language: JavaScript (javascript)
例如,以下声明了一个 字符串数组
let skills: string[] = [];
Code language: TypeScript (typescript)
您可以向数组中添加一个或多个字符串
skills[0] = "Problem Solving";
skills[1] = "Programming";
Code language: TypeScript (typescript)
或使用 push()
方法
skills.push('Software Design');
Code language: JavaScript (javascript)
以下声明了一个变量并为其分配了一个字符串数组
let skills = ['Problem Sovling','Software Design','Programming'];
Code language: TypeScript (typescript)
在此示例中,TypeScript 推断 skills
数组为字符串数组。它等效于以下内容
let skills: string[];
skills = ['Problem Sovling','Software Design','Programming'];
Code language: TypeScript (typescript)
定义特定类型的数组后,TypeScript 将阻止您添加不兼容的值。例如,以下将导致错误
skills.push(100);
Code language: CSS (css)
…因为我们试图向字符串数组中添加一个数字。
错误
Argument of type 'number' is not assignable to parameter of type 'string'.
Code language: Shell Session (shell)
从数组中提取元素时,TypeScript 推断数组元素的类型。例如
let skill = skills[0];
console.log(typeof(skill));
Code language: TypeScript (typescript)
输出
string
在此示例中,我们提取 skills
数组的第一个元素并将其分配给 skill
变量。
由于字符串数组中的元素是字符串,因此 TypeScript 将 skill
变量的类型推断为字符串,如输出所示。
TypeScript 数组属性和方法
TypeScript 数组具有与 JavaScript 数组相同的 属性和方法。例如,以下使用 length
属性获取数组中元素的数量
let series = [1, 2, 3];
console.log(series.length); // 3
Code language: TypeScript (typescript)
您可以使用所有有用的数组方法,例如 forEach()、map()、reduce() 和 filter()。例如
let series = [1, 2, 3];
let doubleIt = series.map(e => e* 2);
console.log(doubleIt);
Code language: TypeScript (typescript)
输出
[ 2, 4, 6 ]
Code language: JSON / JSON with Comments (json)
存储混合类型的值
以下说明如何定义一个既包含字符串又包含数字的数组
let scores = ['Programming', 5, 'Software Design', 4];
Code language: TypeScript (typescript)
在这种情况下,TypeScript 将 scores
数组推断为 string | number
数组。它等效于以下内容
let scores : (string | number)[];
scores = ['Programming', 5, 'Software Design', 4];
Code language: TypeScript (typescript)
总结
- 在 TypeScript 中,数组是有序的值列表。
- 使用
let arr: type[]
语法声明特定类型的数组。向数组添加不同类型的值将导致错误。 - 数组可以存储混合类型的值。使用
arr: (type1 | type2) []
语法声明混合类型值(type1
和type2
)的数组
本教程是否有帮助?