TypeScript Array(九) 数组

1.TypeScript Array 数组

1.1. 描述

  数组对象是使用单独的变量名来存储一系列的值。
 &emsp比如,你现在有一组数据,存单独变量如下:

var data1="Android";
var data2="Java";
var data3="Harmony";

  那如果有10、100个这种变量呢,那这种就不实用了,这时我们可以使用数组来解决:

var array:string[]; // 声明
array= ["Android","Java","Harmony" ];

  现在看起来简洁多了。

1.2. 语法:

var array_name[:datatype];        //声明 
array_name = [val1,val2,valn..];   //初始化

  或者直接在声明时初始化

var array_name[:datatype] = [val1,val2…valn];

实例:

var array:string[]; // 声明
array= ["Android","Java","Harmony" ];
console.log(array[0]);
console.log(array[1]);

执行结果:
在这里插入图片描述

1.3. Array对象

  同样我们也可以使用array对象来创建数组。
  Array对象的构造函数接受以下两种值:
(1)表示数组大小的值
(2)初始化的数组列表,元素使用逗号分隔值。
实例(指定数组的初始化大小):

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

执行结果:
在这里插入图片描述

实例(直接初始化数组元素:

var arr_list: string[] = new Array("Android","Java","Harmony");
for (var i = 0; i < arr_list.length; i++) {
console.log(arr_list[i]);
}

执行结果:
在这里插入图片描述

1.4. 数组解构

  我们可以把数组元素赋值给变量,如下:

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

执行结果:
在这里插入图片描述

1.5. 数组迭代

  我们可以使用for语句来循环输出数组各个元素,代码:

var j:any; 
var nums:number[] = [1001,1002,1003,1004] 
for(j in nums) { console.log(nums[j]) 
}

执行结果:
在这里插入图片描述

1.6. 数组方法

(1)concat() - 链接两个或更多的数组,并返回结果
实例:

  var arryList1 = ["Android", "Java", "ios"];var arrayList2 = [1, 2, 3];var result = arryList1.concat(arrayList2);document.getElementById("demo").innerHTML = "result = " + result;

执行结果:
result = Android,Java,ios,1,2,3
(2)forEach() – 数组每个元素都执行一次回调函数
实例:

let num = [6, 7, 8];
num.forEach(function(value) {console.log(value);
});

执行结果:
在这里插入图片描述

(3)indexOf() – 搜索数组中的元素,并返回它所在的位置,如果没有搜索到,返回值-1,代表没有此项。

var index = [12, 5, 8, 130, 44].indexOf(8); 
console.log("index is : " + index );  // 2

(4)join() – 将数组中所有元素放入一个字符串中

var arr = new Array("Google","Runoob","Taobao"); 
var str = arr.join(); 
console.log("str : " + str );  // Google,Runoob,Taobao        
var str = arr.join(", "); 
console.log("str : " + str );  // Google, Runoob, Taobao       
var str = arr.join(" + "); 
console.log("str : " + str );  // Google + Runoob + Taobao

(5)lastIndexOf() – 返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后往前的搜索。
实例:

var index = [12, 5, 8, 130,8, 44].lastIndexOf(8); 
console.log("index is : " + index );  // 4

(6)pop() – 删除数组的最后一个元素,并返回删除的元素
实例:

var numbers = [1, 4, 9];   
var element = numbers.pop(); 
console.log("element is : " + element );  // 9
console.log("numbers = : " + JSON.stringify(numbers));

执行结果:
在这里插入图片描述
(7)push() – 向数组末尾添加一个或多个元素,并返回新的长度
实例:

var numbers = new Array(1, 4, 9); 
var length1 = numbers.push(10); 
console.log("new numbers is : " + numbers );  // 1,4,9,10 
console.log("length1 = " + length1 );  // 4
length2 = numbers.push(20); 
console.log("new numbers is : " + numbers );  // 1,4,9,10,20
console.log("length2 = " + length2 );  // 5

执行结果:
new numbers is : 1,4,9,10
length1 = 4
new numbers is : 1,4,9,10,20
length2 = 5
(8)reduce() – 将数组元素计算为一个值(从左到右)
实例:

var total = [2, 4, 6, 8];
var result = total.reduce(function(a, b) {
return a + b;
})
console.log("reduce() - result = " + result) // 20

执行结果:reduce() - result = 20
(9)reduceRight() – 将数据元素计算为一个值(从右到左)
  实例同上的reduce()数组方法。
(10)reverse() – 反转数组的元素顺序
实例:

var total = [2, 4, 6, 8];
var result = total.reverse();
console.log("reverse() - result = " + result) // 8,6,4,2

执行结果:reverse() - result = 8,6,4,2
(11)shift() – 删除并返回数组的第一个元素(跟pop()方法刚好相反)。
实例:

var arr = [10, 1, 2, 3].shift(); 
console.log("Shifted value is : " + arr );  // 10

(12)slice() – 选取数组的某一部分,并返回新选择的数组
实例:

var arr = ["orange", "mango", "banana", "sugar", "tea"];
console.log("arr.slice( 1, 2) : " + arr.slice(1, 2)); // mango
console.log("arr.slice( 1, 3) : " + arr.slice(1, 3)); // mango,banana

13)、sort() – 对数组的元素进行排序

var arr = new Array("orange", "mango", "banana", "sugar"); 
var sorted = arr.sort(); 
console.log("Returned string is : " + sorted );  // banana,mango,orange,sugar

(14)toString() – 把数组转换为字符串并返回结果

var arr = new Array("orange", "mango", "banana", "sugar");         
var str = arr.toString(); 
console.log("Returned string is : " + str );  // orange,mango,banana,sugar

(15)unshift() - 向数组的开头添加一个更多元素,并返回新的长度。

var arr = new Array("orange", "mango", "banana", "sugar"); 
var length = arr.unshift("water"); 
console.log("Returned array is : " + arr );  // water,orange,mango,banana,sugar 
console.log("Length of the array is : " + length ); // 5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/660583.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

南昌市青山湖、滕王阁、洛阳路隧道FM调频广播集群通信调度系统应用案例

一、用户需求 青山湖隧道&#xff0c;是南昌市一条东西走向的城市主干道&#xff0c;隧道为双向6车道&#xff0c;长1070米&#xff0c;其中湖底暗埋段为550米&#xff0c;净高5.45米&#xff0c;两孔每孔净宽12.4米。 滕王阁隧道是南昌市沿江北大道与沿江中大道连通工程&#…

计算机网络实验二

目录 实验二 交换机的基本配置 1、实验目的 2、实验设备 &#xff08;1&#xff09;实验内容&#xff1a; &#xff08;2&#xff09;练习&#xff1a; 1.实验内容一&#xff1a;&#xff08;交换机的配置方式&#xff09; 2.实验内容二&#xff1a;&#xff08;交换机…

云打印怎么收费?云打印需要付费吗?

随着云打印概念的火热发展&#xff0c;很多有打印需求的App或者个人用户都想使用易绘创云打印服务。那么易绘创云打印怎么收费&#xff1f;云打印需要付费吗&#xff1f;今天就带大家来了解一下。 云打印怎么收费&#xff1f;云打印需要付费吗&#xff1f; 很多有打印需求的小…

正则表达式 与文本三剑客(sed grep awk)

一&#xff0c;正则表达式 &#xff08;一&#xff09;正则表达式相关定义 1&#xff0c;正则表达式含义 REGEXP&#xff1a; Regular Expressions&#xff0c;由一类特殊字符及文本字符所编写的模式&#xff0c;其中有些字符&#xff08;元字符&#xff09;不表示字符字面意…

EMQX 性能调优:TCP SYN 队列与 Accept 队列

在上一篇博客&#xff08;EMQX 性能调优&#xff1a;最大连接与文件描述符&#xff09;&#xff0c;我们深入研究了 MQTT 连接与文件描述符之间的关系&#xff0c;介绍了如何修改文件描述符相关的内核参数来突破默认的最大连接数量限制。 但你可能会发现&#xff0c;在某些情况…

Java 面向对象进阶 03 static 注意事项、重新认识main方法(黑马)

案例代码如下&#xff1a; 非静态的方法虚拟机会自带一个关键字&#xff0c;如下&#xff1a; 但是不能手动出来&#xff0c;它的类型就是当前类&#xff1b; 通过输出this&#xff0c;得到当前s1,s2 的地址&#xff1b; 所以在输出时会有隐藏的this&#xff0c;所以this所指向…

Redis -- 单线程模型

失败是成功之母 ——法国作家巴尔扎克 目录 单线程模型 Redis为什么这么快 单线程模型 redis只使用一个线程&#xff0c;处理所有的命令请求&#xff0c;不是说redis服务器进场内部真的就只有一个线程&#xff0c;其实也有多个线程&#xff0c;那就是处理网络和io的线程。 R…

MBR分区转换为GPT分区

这里有一个ecs-test用于测试MBR转换为GPT 新增一块数据盘 将数据盘以MBR分区格式分区 将整块磁盘以mbr形式分区 格式化&#xff0c;挂载等 上传文件&#xff0c;方便测试(以便后续转换格式类型&#xff0c;防止文件丢失) 取消挂载 将MBR转换为GPT 需先下载gdisk yum instal…

前端常见的栈溢出报错

什么是栈溢出&#xff1f; 在前端开发中&#xff0c;栈溢出是指JavaScript引擎执行代码时&#xff0c;调用栈&#xff08;call stack&#xff09;变得太大&#xff0c;超过了浏览器或JavaScript引擎所分配的栈空间&#xff0c;从而导致栈溢出错误。调用栈是一种数据结构&#x…

Spring-集成Web

一、引子 前面我们在Spring集成Junit中为读者引出了Spring善于集成其它框架的优势&#xff0c;而Spring项目不可能仅限于小范围的某个方法的测试&#xff0c;终究会落脚于Web项目上。于是&#xff0c;我们就从这里正式进入Spring集成Web的话题。由于笔者会从原生的Java Web开发…

@Test Annotation属性- dependsOnMethods属性

目录 语法 如果test1&#xff08;&#xff09;失败了怎么办&#xff1f;test2&#xff08;&#xff09;测试会发生什么&#xff0c;因为它依赖于test1&#xff1f; 如果我们在test1&#xff08;&#xff09;方法上不使用Test注释&#xff0c;但在test 2&#xff08;&#xf…

【产业实践】使用YOLO V5 训练自有数据集,并且在C# Winform上通过onnx模块进行预测全流程打通

使用YOLO V5 训练自有数据集,并且在C# Winform上通过onnx模块进行预测全流程打通 效果图 背景介绍 当谈到目标检测算法时,YOLO(You Only Look Once)系列算法是一个备受关注的领域。YOLO通过将目标检测任务转化为一个回归问题,实现了快速且准确的目标检测。以下是YOLO的基…

B2119 删除单词后缀

网址如下&#xff1a; B2119 删除单词后缀 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 算是找了个操作字符串的题来做 可以说C的string类确实是好用&#xff0c;但是还是不够熟悉&#xff0c;我不清楚怎么删去string类的后面几个字符 用C的常规做法是在相应地点设\0&…

校园二手交易小程序|基于微信小程序的闲置物品交易平台设计与实现(源码+数据库+文档)

校园二手交易小程序目录 目录 基于微信小程序的闲置物品交易平台设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户信息管理 2、商品信息管理 3、公告信息管理 4、论坛信息管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕…

R语言基础学习-02 (此语言用途小众 用于数学 生物领域 基因分析)

变量 R 语言的有效的变量名称由字母&#xff0c;数字以及点号 . 或下划线 _ 组成。 变量名称以字母或点开头。 变量名是否正确原因var_name2.正确字符开头&#xff0c;并由字母、数字、下划线和点号组成var_name%错误% 是非法字符2var_name错误不能数字开头 .var_name, var.…

蓝桥杯备战——11.NE555测频

1.分析原理图 我们可以看到&#xff0c;上图就是一个NE555构建的方波发生电路&#xff0c;输出方波频率1.44/2(R8Rb3)C,如果有不懂NE555内部结构&#xff0c;工作原理的&#xff0c;可以到B站学习。实在不懂仿真也行&#xff0c;比如我下面就是仿真结果&#xff1a; 然后就是下…

与数组相关经典面试题

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…

su导入3d模型为什么不圆滑---模大狮模型网

在将SU(SketchUp)模型导入到其他3D软件中时&#xff0c;可能会遇到模型没有圆滑的情况。这可能是由于以下原因&#xff1a; 模型导出设置不正确&#xff1a;在导出SU模型时&#xff0c;需要确保正确选择导出设置。例如&#xff0c;在导出为.obj格式时&#xff0c;需要选择正确的…

免费的ChatGPT网站 ( 7个 )

ChatGPT的核心功能是基于用户在输入时的语言或文本生成相应的回复或继续内容。此外&#xff0c;它还能够完成多种任务&#xff0c;如撰写邮件、视频脚本、文案、翻译、代码编写以及撰写论文等。 博主归纳总结了7个国内非常好用&#xff0c;而且免费的chatGPT网站&#xff0c;AI…

Unity 访问者模式(实例详解)

文章目录 实例1&#xff1a;简单的形状与统计访客实例2&#xff1a;游戏对象组件访问者实例4&#xff1a;Unity场景对象遍历与清理访客实例5&#xff1a;角色行为树访问者 访问者模式&#xff08;Visitor Pattern&#xff09;在Unity中主要用于封装对一个对象结构中各个元素的操…