TypeScript数组的定义与使用详解

 更新时间:2022年09月16日 16:31:31   作者:我是X大魔王  
数组对象是使用单独的变量名来存储一系列的值,数组非常常用,数组是具有连续存储位置的相似类型元素的同质集合。数组是用户定义的数据类型。数组是一种数据结构,我们在其中存储相似数据类型的元素

基本定义

声明数组时直接初始化

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

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

访问数组

Array对象

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

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

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

声明数组时指定数组大小

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

两种定义方式

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

声明多维数组(含泛型)

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

定义一个多维数组:

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

普通版

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

泛型版

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

类数组

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

数组解构

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

通过接口描述数组

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

数组迭代

使用for…of来玩

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

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

相关文章

  • bootstrap modal+gridview实现弹出框效果

    bootstrap modal+gridview实现弹出框效果

    这篇文章主要介绍了bootstrap modal+gridview实现弹出框效果,gridview点击更新弹出填写信息表单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 微信小程序实现横向滚动导航栏效果

    微信小程序实现横向滚动导航栏效果

    这篇文章主要介绍了微信小程序实现横向滚动导航栏效果,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • array.prototype.silce.call 理解分析

    array.prototype.silce.call 理解分析

    在很多框架中与遇到这个方法,但一时没去研究这个方法,只要前段时间被问到,尴尬无奈收场。所以学习就要追根究底的精神,废话少说,说正题。
    2010-04-04
  • 详谈LABJS按需动态加载js文件

    详谈LABJS按需动态加载js文件

    为了提高页面的打开和加载速度,我们经常把JS文件放在页面的尾部,但是有些JS必须放在页面前面,这样就会增加页面的加载时间;于是出现了按需动态加载的概念,这个概念就是当页面需要用到这个JS文件或者CSS渲染文件的时候,在去请求这些文件,这样就节省了页面的加载时间
    2015-05-05
  • JavaScript无阻塞加载和defer、async详解

    JavaScript无阻塞加载和defer、async详解

    JS具有阻塞特性,当浏览器在执行js代码时,不能同时做其它事情,所有浏览器在下载JS的时候,会阻止一切其他活动,比如其他资源的下载,内容的呈现等等。至到JS下载、解析、执行完毕后才开始继续并行下载其他资源并呈现内容。
    2017-02-02
  • Javascript使用function创建类的两种方法(推荐)

    Javascript使用function创建类的两种方法(推荐)

    下面小编就为大家带来一篇Javascript使用function创建类的两种方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 浅谈JavaScript 中的延迟加载属性模式

    浅谈JavaScript 中的延迟加载属性模式

    改善性能的最好方法之一是避免重复两次相同的工作。因此,只要可以缓存结果供以后使用,就可以加快程序的速度。延迟加载属性模式技术使任何属性都可以成为缓存层以提高性能。这里说到的延迟加载属性模式就是利用的访问器属性,将计算昂贵的操作推迟到需要时再使用
    2021-06-06
  • 一次记住JavaScript的6个正则表达式方法

    一次记住JavaScript的6个正则表达式方法

    这篇文章主要介绍了一次记住JavaScript的6个正则表达式方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Java File类的常用方法总结

    Java File类的常用方法总结

    这篇文章主要介绍了Java File类的常用方法总结,本文讲解了File类的常用方法,并对一些方法给出了代码示例,需要的朋友可以参考下
    2015-03-03
  • js实现九宫格布局效果

    js实现九宫格布局效果

    这篇文章主要为大家详细介绍了js实现九宫格布局效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05

最新评论