多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# TypeScript 中的数组 > 原文: [https://howtodoinjava.com/typescript/arrays/](https://howtodoinjava.com/typescript/arrays/) 通过简单易学的示例学习在 TypeScript 中创建数组,克隆数组,合并数组以及遍历数组元素。 ```java Table of Contents Create Array Iterate Through Array Clone Array Merge Arrays ``` ## 创建数组 像 JavaScript 一样,TypeScript 具有数组类型以允许分配多个值。 通过在类型之后添加方括号来指定数组。 每次将新值添加到数组时,编译器都会检查类型兼容性,并在类型不匹配时发出警报。 ```java //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()`方法。 ```java //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`”循环 ```java let scores :number[] = [10, 20, 30, 40]; for (var score of scores) { console.log(score); //Outputs 10 20 30 40 } ``` 请勿使用用于循环访问对象属性的“`for…in`”循环。 #### 使用传统的`for`循环 ```java let scores :number[] = [10, 20, 30, 40]; for (var i = 0; i < scores.length; i++) { console.log(scores[i]); //Outputs 10 20 30 40 } ``` ## 克隆数组 使用[展开运算符](https://howtodoinjava.com/typescript/spread-operator/)克隆数组。 这是最简单和推荐的方法。 ```java 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" ``` ## 合并数组 也可以使用[展开运算符](https://howtodoinjava.com/typescript/spread-operator/)合并数组。 这是最简单推荐的方法。 ```java 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 ] ``` 将我的问题放在评论部分。 学习愉快!