TypeScript 中的数组

TypeScript 中的数组

原文: https://howtodoinjava.com/typescript/arrays/

通过简单易学的示例学习在 TypeScript 中创建数组,克隆数组,合并数组以及遍历数组元素。

Table of Contents

Create Array
Iterate Through Array
Clone Array
Merge Arrays

创建数组

像 JavaScript 一样,TypeScript 具有数组类型以允许分配多个值。 通过在类型之后添加方括号来指定数组。

每次将新值添加到数组时,编译器都会检查类型兼容性,并在类型不匹配时发出警报。

//array declaration and initialization in separate lines
let myArr1: boolean[];
let myArr2: boolean[] = [];
let myArr3: boolean[] = new Array();
let myArr4: boolean[] = Array();

myArr1 = [false, false, true];

//array inline declaration and initialization

//array of booleans	
let flags1: boolean[] = [false, false, true];	
//or
let	flags2: Array<boolean> =[false, false, true];

//array of numbers
let scores1: number[] = [10, 20, 30, 40];	
//or
let	scores2: Array<number> = [10, 20, 30, 40];	

向数组添加元素

要向数组添加更多元素,请使用push()方法。

//array of numbers
let scores: number[] = [10, 20, 30, 40];

scores.push( 50 );	//[10, 20, 30, 40, 50]

scores.push( 'abc' );	//data.ts(24,14): error TS2345: Argument of type '"abc"' is not  
						//assignable to parameter of type 'number'.

遍历数组

您可以使用for...of循环或传统的for循环来迭代数组元素。

使用“for…of”循环

let scores :number[] = [10, 20, 30, 40];	

for (var score of scores) {
	console.log(score);		//Outputs 10 20 30 40
}

请勿使用用于循环访问对象属性的“for…in”循环。

使用传统的for循环

let scores :number[] = [10, 20, 30, 40];	

for (var i = 0; i < scores.length; i++) {
	console.log(scores[i]);		//Outputs 10 20 30 40
}

克隆数组

使用展开运算符克隆数组。 这是最简单和推荐的方法。

let origScores :number[] = [10, 20, 30];	

let clonedScores = [...origScores];

console.log(clonedScores);		//[10, 20, 30]

origScores.push( 40 );

console.log(origScores);		//[10, 20, 30, 40]	is "changed"
console.log(clonedScores);		//[10, 20, 30] 	is "unchanged"

合并数组

也可以使用展开运算符合并数组。 这是最简单推荐的方法。

let scores1 :number[] = [10, 20, 30];	
let scores2 :number[] = [40, 50, 60];	

let mergedScore = [...scores1, ...scores2];

console.log(mergedScore);	//[ 10, 20, 30, 40, 50, 60 ]

将我的问题放在评论部分。

学习愉快!