TypeScript 中的数组
通过简单易学的示例学习在 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 ]
将我的问题放在评论部分。
学习愉快!