TypeScript 数组

注意: 如果您是 TypeScript 新手,请先查看我们的 TypeScript 入门 教程。


数组是相同数据类型元素的集合。

下面是一个数组的简单示例。您可以阅读本教程的其余部分以了解更多信息。

示例

let age: number[] = [10, 12, 3, 40, 5];
console.log(age);

在这里,age 是一个数字数组,代表不同的年龄。


创建数组

在 TypeScript 中,您可以通过定义一个带有数组类型注解的变量来创建数组(该注解指定数组将包含的元素类型)。

例如,要存储班级学生的名字,您可以这样写:

let studentNames: string[] = ["Alice", "Bob", "Charlie"];

因此,在 TypeScript 中创建数组的语法是:

let arrayName: elementType[] = [element1, element2, element3];

访问数组元素

一旦创建了数组,您就可以通过它们的索引来访问其元素。

数组的索引从 **0** 开始,这意味着第一个元素位于索引 **0**,第二个元素位于索引 **1**,依此类推。例如:

Accessing Array Elements
访问数组元素
let fruits: string[] = ["apple", "banana", "cherry"];

// Accesses "apple"
let firstFruit: string = fruits[0];

// Accesses "banana"
let secondFruit: string = fruits[1];

console.log(firstFruit);
console.log(secondFruit);

输出

apple
banana

数组中的操作

您可以在数组上执行各种操作,例如添加、删除和更改其元素。

让我们详细看看每种操作。

向数组添加元素

您可以使用 push() 方法将一个或多个元素添加到数组的末尾。例如:

let fruits: string[] = ["apple", "banana", "cherry"];

// Add "orange" to the end of the array
fruits.push("orange");

console.log(fruits);

输出

["apple", "banana", "cherry", "orange"]

常见问题

将元素添加到数组的开头。

您可以使用 unshift() 方法将一个或多个元素添加到数组的开头。例如:

let fruits: string[] = ["apple", "banana", "cherry"];
fruits.unshift("strawberry");

console.log(fruits);

// Output: ["strawberry", "apple", "banana", "cherry"]

从数组中删除元素

您可以使用 pop() 方法从数组中删除最后一个元素。例如:

let fruits: string[] = ["apple", "banana", "cherry"];
let lastFruit: string = fruits.pop();

console.log(lastFruit);

输出

cherry

如您所见,pop() 方法会删除最后一个元素并返回它。然后我们将此返回值存储在 lastFruit 变量中。

常见问题

删除数组的第一个元素。

您可以使用 shift() 方法删除数组的第一个元素。例如:

let fruits: string[] = ["apple", "banana", "cherry"];
let firstFruit: string = fruits.shift();

console.log(firstFruit);

// Output: apple

更改数组中的元素

您可以通过为指定索引分配新值来更改数组中的元素。例如:

let fruits: string[] = ["apple", "banana", "cherry"];
console.log("Before changing, the second element is" , fruits[1]);

fruits[1] = "mango";

console.log("After changing, the second element is" , fruits[1]);

输出

Before changing, the second element is banana  
After changing, the second element is mango

数组方法

您还可以使用其他几种数组方法来执行各种操作。这些方法总结在下表中:

方法 描述
concat() 连接两个或多个数组并返回结果。
toString() 将数组转换为逗号分隔的数组值的字符串。
indexOf() 搜索数组中的元素并返回其第一个索引。
find() 返回数组中满足提供的测试函数的第一个元素的值。
findIndex() 返回数组元素中通过给定测试的第一个索引。
forEach() 对每个数组元素执行一次提供的函数。
includes() 检查数组是否包含指定元素。
sort() 就地对数组元素进行排序并返回排序后的数组。
slice() 选择数组的一部分并将其作为新数组返回。
splice() 通过删除或替换现有元素和/或添加新元素来更改数组的内容。

示例:数组方法

让我们来看一个例子,看看上述一些方法是如何工作的。

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

// Use concat() to merge array1 and array2
let combinedArray: number[] = array1.concat(array2);
console.log("Combined Array:", combinedArray);  

// Use indexOf() to find the index of element '5' in the combinedArray
let index: number = combinedArray.indexOf(5);
console.log('Index of 5:', index);  

// Use slice() to get a portion of the combinedArray (elements at index 1 to 3)
let slicedArray: number[] = combinedArray.slice(1, 4);
console.log("Sliced Array:", slicedArray);  

// Use splice() to remove two elements starting from index 3 and add '7', '8'
combinedArray.splice(3, 2, 7, 8);
console.log("Modified Combined Array:", combinedArray); 

输出

Combined Array: [1, 2, 3, 4, 5, 6]
Index of 5: 4
Sliced Array: [2, 3, 4]
Modified Combined Array: [1, 2, 3, 7, 8, 6]

常见问题

使用 new 关键字创建数组。

您也可以使用 new 关键字创建数组。例如:

1. **创建一个空数组。**

let emptyArray: number[] = new Array();

2. 创建指定长度的数组。

// Creates an array with 5 empty slots.
let arrayWithSize: number[] = new Array(5);  

3. 使用元素创建数组。

let arrayWithElements: number[] = new Array(1, 2, 3, 4);

另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战