上一章TypeScript教程请查看:TypeScript类型断言
数组是具有连续内存位置的相似类型元素的同构集合。
数组是用户定义的数据类型。
数组是一种数据结构类型,我们在其中存储类似数据类型的元素。在数组中,我们只能存储一组固定的元素。我们也可以把它当作一个对象。
该数组是基于索引的存储,其中第一个元素存储在索引0处。下面的结构有助于理解数组的结构。
文章图片
数组特性
- 数组存储具有相同数据类型的元素。
- 存储在连续内存中的数组元素。
- 二维数组元素的存储是在一个连续的内存位置按行进行的。
- 数组名表示开始元素的地址。
- 数组的大小应该在声明时初始化。
- 数组大小应该是常量表达式,而不是变量。
- 我们可以通过指定元素对应的索引值来检索数组元素。
- 代码优化:数组有助于优化代码,从而提高程序的速度和性能。它允许我们更有效地检索或排序数组数据。
- 随机访问:它提供了在常数时间内访问数组的任何数据的能力(与它的位置和大小无关)。因此,我们可以直接获取位于任何索引位置的数组的任何数据。
大小限制:数组只允许存储固定数量的元素。一旦声明了数组,我们就不能改变它的大小。因此,如果我们想插入比声明的更多的元素,这是不可能的。
数组声明与JavaScript一样,TypeScript也支持数组。有两种方法来声明一个数组:
1. 使用方括号。
let array_name[:datatype] = [val1,val2,valn..]
例子
let fruits: string[] = ['Apple', 'Orange', 'Banana'];
2. 使用泛型数组类型。
let array_name: Array<
elementType> = [val1,val2,valn..]
例子
let fruits: Array<
string> = ['Apple', 'Orange', 'Banana'];
TypeScript中数组的类型数组有两种类型:
- 一维数组
- 多维数组
文章图片
一维数组
单维数组是一种线性数组,它只包含用于存储数据的一行。它只有一个方括号(“ []” )。我们可以使用行或列索引访问它的元素。
语法
let array_name[:datatype];
初始化
array_name = [val1,val2,valn..]
例子
array_name = [val1,val2,valn..]
例子
let arr:number[];
arr = [1, 2, 3, 4]
console.log("Array[0]: " +arr[0]);
console.log("Array[1]: " +arr[1]);
多维数组
多维数组是包含一个或多个数组的数组。在多维数组中,数据存储在基于行和列的索引中(也称为矩阵形式),二维数组(二维数组)是多维数组的最简单形式。
文章图片
语法
let arr_name:datatype[][] = [ [a1,a2,a3], [b1,b2,b3] ];
初始化
var mArray:number[][] = [[1,2,3],[5,6,7]] ;
console.log(mArray[0][0]);
console.log(mArray[0][1]);
console.log(mArray[0][2]);
console.log();
console.log(mArray[1][0]);
console.log(mArray[1][1]);
console.log(mArray[1][2]);
数组对象数组对象允许我们在一个变量中存储多个值,我们可以使用数组对象来创建一个数组。数组构造函数用于为数组创建传递以下参数。
- 表示数组大小的数字值
- 逗号分隔值的列表。
let arr_name:datatype[] = new Array(values);
例子
//使用数组对象创建数组。
let arr:string[] = new Array("srcmini","264","C++","Van");
for(var i = 0;
i<
arr.length;
i++) {
console.log(arr[i]);
}
使用for… in循环遍历数组例子
let i:any;
let arr:string[] = ["C++", "C", "Java", "Python"];
for(i in arr) {
console.log(arr[i])
}
将数组传递给函数我们可以通过指定不带索引的数组名来将数组传递给函数。
例子
let arr:string[] = new Array("C++", "C", "Java", "Python");
//在函数中传递数组
function display(arr_values:string[]) {
for(let i = 0;
i<
arr_values.length;
i++) {
console.log(arr[i]);
}
}
// 调用函数
display(arr);
TypeScript扩展操作符扩展操作符用于从另一个数组或对象初始化数组和对象,我们也可以将其用于对象反结构,它是es6版本的一部分。
例子
let arr1 = [ 1, 2, 3];
let arr2 = [ 4, 5, 6];
//从现有数组创建新数组
let copyArray = [...arr1];
console.log("CopiedArray: " +copyArray);
//从现有数组中创建包含更多元素的新数组
let newArray = [...arr1, 7, 8];
console.log("NewArray: " +newArray);
//通过合并两个数组来创建数组
let mergedArray = [...arr1, ...arr2];
console.log("MergedArray: " +mergedArray);
数组的方法【TypeScript数组用法和操作 – TypeScript开发教程】数组方法的列表及其描述如下。
编号 | 方法 | 描述 |
1. | concat() | 它用于连接两个数组并返回合并后的结果。 |
2. | copyWithin() | 它复制数组中一个元素的序列。 |
3. | every() | 如果数组中的每个元素都满足所提供的测试函数,则返回true。 |
4. | fill() | 它用指定的从开始到结束索引的静态值填充数组。 |
5. | indexOf() | 它返回数组中匹配元素的索引,否则返回-1。 |
6. | includes() | 它用于检查数组是否包含某个元素。 |
7. | Join() | 它用于将数组中的所有元素连接到一个字符串中。 |
8. | lastIndexOf() | 它返回数组中元素的最后一个索引。 |
9. | Pop() | 它用于删除数组的最后一个元素。 |
10. | Push() | 它用于向数组添加新元素。 |
11. | reverse() | 它用于反转数组中元素的顺序。 |
12. | Shift() | 它用于删除和返回数组的第一个元素。 |
13. | slice() | 它在新数组中返回一个数组的片段。 |
14. | sort() | 它用于对数组中的元素进行排序。 |
15. | splice() | 它用于添加或删除数组中的元素。 |
16. | toString() | 它返回数组的字符串表示形式。 |
17. | unshift() | 它用于向数组的开头添加一个或多个元素。 |
推荐阅读
- TypeScript元组用法和操作 – TypeScript开发教程
- TypeScript类型断言 – TypeScript开发教程
- TypeScript类型推断 – TypeScript开发教程
- TypeScript使用类型注解 – TypeScript开发教程
- TypeScript操作符全解 – TypeScript开发教程
- let和var关键字的区别 – TypeScript开发教程
- TypeScript使用变量 – TypeScript开发教程
- Null和Undefined之间的区别 – TypeScript开发教程
- TypeScript数据类型 – TypeScript开发教程