经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » TypeScript » 查看文章
TypeScript数组的定义与使用详解
来源:jb51  时间:2022/9/20 9:28:51  对本文有异议

基本定义

声明数组时直接初始化

  1. // 基本定义
  2. let arr:number[] = [1,2,3];
  3. let arrS: string[] = ["1","2"]

如果数组声明时未设置类型,则会被认为是 any 类型,在初始化时根据第一个元素的类型来推断数组的类型。

访问数组

Array对象

我们也可以使用 Array 对象创建数组。

Array 对象的构造函数接受以下两种值:

  • 表示数组大小的数值。
  • 初始化的数组列表,元素使用逗号分隔值。

声明数组时指定数组大小

  1. var arr:number[] = new Array(10);
  2. for(var i = 0; i<arr.length; i++) {
  3. arr[i] = i * 2
  4. console.log(arr[i])
  5. }

两种定义方式

  1. let arr1:Array<number> = [1,2,3,4,5]
  2. let arr2:number[] = new Array(1,2,3);
  3. console.log("arr1===="+arr1);
  4. console.log("arr2===="+arr2);

声明多维数组(含泛型)

有一个例子说的挺好的,这里直接用了:

定义一个多维数组:

  1. var arr_name:datatype[][]=[ [val1,val2,val3],[v1,v2,v3] ]

普通版

  1. var arr:number[][] = [[1,2,3],[4,5,6]]
  2. console.log(arr[0][0])
  3. console.log(arr[0][1])
  4. console.log(arr[0][2])
  5. console.log(arr[1][0])
  6. console.log(arr[1][1])
  7. console.log(arr[1][2])

泛型版

  1. // 声明多维数组
  2. let arr:number[][] = [[1,2,3], [4,5,6]];
  3. // 泛型形式声明多维数组(联合类型)
  4. let arr1:Array<Array<number | string>> = [[1,2,3,"123"],[4,5,6,"789"],[]];
  5. console.log(arr)
  6. console.log(arr1)

类数组

  1. // 类数组
  2. function Arr(... args:any):void{
  3. console.log(arguments) //类数组,arguments是参数
  4. let arr:IArguments = arguments //用IArguments去接收
  5. }
  6. Arr(1,2,3) //[Arguments] { '0': 1, '1': 2, '2': 3 }

数组解构

  1. // 数组解构
  2. var arr = [12, 13];
  3. var x = arr[0], y = arr[1]; // 将数组的两个元素赋值给变量 x 和 y
  4. console.log(x);
  5. console.log(y);

通过接口描述数组

  1. // 通过接口描述数组
  2. interface NumberArray{
  3. [index:number]:number; //只要索引的类型是数字,那么值的类型也必须是数字,换成string也是一样的
  4. }
  5. let arr:NumberArray = [1,2,3];
  6. console.log(arr);

数组迭代

使用for…of来玩

  1. // 数组迭代
  2. var j:any;
  3. var nums:number[] = [1,2,3,4]
  4. for(j in nums) {
  5. console.log(nums[j])
  6. }

到此这篇关于TypeScript数组的定义与使用详解的文章就介绍到这了,更多相关TypeScript数组内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号