鸿蒙TypeScript学习第13天:【元组】

1、TypeScript 元组

我们知道数组中元素的数据类型都一般是相同的(any[] 类型的数组可以不同),如果存储的元素数据类型不同,则需要使用元组。参考文档:qr23.cn/AKFP8k

元组中允许存储不同类型的元素,元组可以作为参数传递给函数。

创建元组的语法格式如下:

var tuple_name = [value1,value2,value3,…value n]复制

实例

声明一个元组并初始化:

var mytuple = [10,"Runoob"];复制

或者我们可以先声明一个空元组,然后再初始化:

var mytuple = []; 
mytuple[0] = 120 
mytuple[1] = 234复制

2、访问元组

元组中元素使用索引来访问,第一个元素的索引值为 0,第二个为 1,以此类推第 n 个为 n-1,语法格式如下:

tuple_name[index]复制

实例

以下实例定义了元组,包含了数字和字符串两种类型的元素:

TypeScript

var mytuple = [10,"Runoob"]; // 创建元组
console.log(mytuple[0]) 
console.log(mytuple[1])复制

编译以上代码,得到以下 JavaScript 代码:

JavaScript

var mytuple = [10, "Runoob"]; // 创建元组
console.log(mytuple[0]);
console.log(mytuple[1]);复制

输出结果为:

10
Runoob复制
鸿蒙开发学习可+mau123789
是v喔,直接找它拿

鸿蒙开发文档参考有如下:

搜狗高速浏览器截图20240326151450.png

3、元组运算

我们可以使用以下两个函数向元组添加新元素或者删除元素:

  • push() 向元组添加元素,添加在最后面。
  • pop() 从元组中移除元素(最后一个),并返回移除的元素。

TypeScript

var mytuple = [10,"Hello","World","typeScript"]; 
console.log("添加前元素个数:"+mytuple.length)    // 返回元组的大小mytuple.push(12)                                    // 添加到元组中
console.log("添加后元素个数:"+mytuple.length) 
console.log("删除前元素个数:"+mytuple.length) 
console.log(mytuple.pop()+" 元素从元组中删除") // 删除并返回删除的元素console.log("删除后元素个数:"+mytuple.length)复制

编译以上代码,得到以下 JavaScript 代码:

JavaScript

var mytuple = [10, "Hello", "World", "typeScript"];
console.log("添加前元素个数:" + mytuple.length); // 返回元组的大小
mytuple.push(12); // 添加到元组中
console.log("添加后元素个数:" + mytuple.length);
console.log("删除前元素个数:" + mytuple.length);
console.log(mytuple.pop() + " 元素从元组中删除"); // 删除并返回删除的元素
console.log("删除后元素个数:" + mytuple.length);复制

输出结果为:

添加前元素个数:4
添加后元素个数:5
删除前元素个数:5
12 元素从元组中删除
删除后元素个数:4

4、更新元组

元组是可变的,这意味着我们可以对元组进行更新操作:

TypeScript

var mytuple = [10, "Runoob", "Taobao", "Google"]; // 创建一个元组
console.log("元组的第一个元素为:" + mytuple[0]) // 更新元组元素
mytuple[0] = 121     
console.log("元组中的第一个元素更新为:"+ mytuple[0])复制

编译以上代码,得到以下 JavaScript 代码:

JavaScript

var mytuple = [10, "Runoob", "Taobao", "Google"]; // 创建一个元组
console.log("元组的第一个元素为:" + mytuple[0]);
// 更新元组元素
mytuple[0] = 121;
console.log("元组中的第一个元素更新为:" + mytuple[0]);复制

输出结果为:

元组的第一个元素为:10
元组中的第一个元素更新为:121

5、解构元组

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

TypeScript

var a =[10,"Runoob"] 
var [b,c] = a 
console.log( b )    
console.log( c )复制

编译以上代码,得到以下 JavaScript 代码:

JavaScript

var a = [10, "Runoob"];
var b = a[0], c = a[1];
console.log(b);
console.log(c);复制

输出结果为:

10
Runoob

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

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

相关文章

代码随想录算法训练营day36

435_无重叠区间 题目: 给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 示例 1: 输入: intervals [[1,2],[2,3],[3,4],[1,3]] 输出: 1 解释: 移除 [1,3] 后&…

手把手教你创建新的OpenHarmony 三方库

创建新的三方库 创建 OpenHarmony 三方库,建议使用 Deveco Studio,并添加 ohpm 工具的环境变量到 PATH 环境变量。 创建方法 1:IDE 界面创建 在现有应用工程中,新创建 Module,选择"Static Library"模板&a…

bash脚本中‘-b -u -p’‘$# -eq’‘#!/bin/bash’‘sed -i “s/\r//“ $1’的用法说明

#!/bin/bash#!/bin/bash: 这是 Bash 脚本的开头,指定了要使用的解释器,即 Bash。 if [ $# -eq 0 ]; thenif [ $# -eq 0 ]; then: 检查脚本是否被调用时提供了参数。$# 表示参数的数量,-eq 0 表示等于 0,即无参数。 echo "p…

2024-3-29 群讨论:如何看到一个线程的所有 JFR 事件

以下来自本人拉的一个关于 Java 技术的讨论群。关注公众号:hashcon,私信拉你 如何查看一个线程所有相关的 JFR 事件 一般接口响应慢,通过日志可以知道是哪个线程,但是如何查看这个线程的所有相关的 JFR 事件呢?JMC 有…

五种主流数据库:子查询

SQL 支持查询语句的嵌套,也就是在一个语句中包含其他的查询语句。嵌套子查询可以用于实现灵活复杂的查询语句。 本文比较五种主流数据库实现的子查询功能,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。 功能MySQLOracleSQL ServerPostgre…

探索网络爬虫:技术演进与学习之路

网络爬虫及IP代理池 前言爬虫技术的演进最新的爬虫技术爬虫技术学习路线 前言 在信息时代,网络爬虫技术作为获取和处理网络数据的重要手段,已经成为数据科学、机器学习和许多商业应用的基石。从简单的HTML页面抓取到复杂的动态内容采集,爬虫…

【Java】如果把线程同步机制比喻成餐厅经理

要更好理解Java的线程同步机制,可以尝试通过餐厅经营的方式来进行类比。厨师(共享资源)在厨房里忙碌着,而顾客(线程)都在点菜和等待他们的食物。在这个场景中,同步机制就像是餐厅的经理&#xf…

三大能力升级!大模型开启智能客服新篇章

当前智能化已成为各行各业加速转型发展的关键词,客户服务领域也不例外,将大语言模型与文档问答结合,不仅能够有效提升知识构建效率,重塑智能客服模式,还将成为企业营销、运营智能化进程中的重要助推力! 接…

Redis从入门到精通(十四)Redis分布式缓存(二)Redis哨兵集群的搭建和原理分析

文章目录 前言5.3 Redis哨兵5.3.1 哨兵原理5.3.1.1 集群的结构和作用5.3.1.2 集群监控原理5.3.1.3 集群故障恢复原理 5.3.2 搭建哨兵集群5.3.3 RedisTemplate5.3.3.1 搭建测试项目5.3.3.2 场景测试 前言 Redis分布式缓存系列文章: Redis从入门到精通(十三)Redis分…

一个开源嵌入式USB设备协议栈:FelisUSB

概述 Felis USB 是一个嵌入式USB协议栈。它不依赖于软件系统支持,可以轻量级迁移使用。 Felis USB is an USB stack for embedded system. See introduction in English here. 源码链接:season-studio/FelisUSB:null_C - GitCode开源社区 为什么开发Feli…

AI时代的新星:Devin AI 工程师的崛起

近日,人工智能领域掀起了一股新浪潮,一家成立不到两个月的初创公司Cognition推出了一款名为Devin的全球首位AI工程师。这款AI工程师引起了业界的高度关注,其独特的特点和能力使其成为软件开发领域的一颗耀眼之星。 Devin并非仅仅是一款编写代…

欧盟网络安全局:公共数据空间中的个人数据保护设计(下)

三、应用场景分析:健康—医药用途 2020年欧盟发布欧盟医药战略,旨在应对制药行业面临的各种机遇和挑战,以确保欧盟公民对于药品的可获得性、可负担性和可持续性。[4]报告将药品数据空间作为一种可能的手段,旨在支持数据使用者对于药品市场供应情况和药品功效的研究和分析。…

Java复习第十七天学习笔记(转发、重定向,GET,POST),附有道云笔记链接

【有道云笔记】十七 4.3 转发、重定向、Get、POST、乱码 https://note.youdao.com/s/GD5TRksQ 一、转发 转发:一般查询了数据之后,转发到一个jsp页面进行展示 req.setAttribute("list", list); req.getRequestDispatcher("student_lis…

大厂面试:获取字符串的全排列

一、概念 现有一个字符串,要打印出该字符串中字符的全排列。例如输入字符串abc,则打印出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。 可以基于回溯法来解决这个问题。 二、代码 public class Permutation {//输出字符串str的全…

算法 第38天 动态规划1

509 斐波那契数 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n - 1) F(n - 2),其中 n…

权限修饰符,代码块,抽象类,接口.Java

1&#xff0c;权限修饰符 权限修饰符&#xff1a;用来控制一个成员能够被访问的范围可以修饰成员变量&#xff0c;方法&#xff0c;构造方法&#xff0c;内部类 &#x1f47b;&#x1f457;&#x1f451;权限修饰符的分类 &#x1f9e3;四种作用范围由小到大(private<空着…

SV-704XT 100W网络有源音柱 校园广播音柱

SV-704XT 100W网络有源音柱 一、描述 SV-704XT是深圳锐科达电子有限公司的一款壁挂式网络有源音柱&#xff0c;具有10/100M以太网接口&#xff0c;可将网络音源通过自带的功放和喇叭输出播放&#xff0c;其采用防水设计&#xff0c;功率100W。SV-704XT作为网络广播播放系统的终…

【算法】斐波那契数列第n位 - 去重递归/双指针迭代

题目 给定n&#xff0c;求斐波那契数列第n位的数值。 斐波那契数列&#xff1a;0 1 1 2 3 5 8 13 …… 每个数等于前面两个数相加&#xff0c;第n位等于第(n - 1)位加上第(n - 2)位。 原理 去重递归 使用递归的方式计算出结果&#xff0c;但使用一个数组保存已经计算出来的值…

java 将 json 数据转为 java 中的对象

一、准备 json 数据 {"name": "mike","age": 17,"gender": 1,"subject": ["math","english"] }二、对应的java对象 package com.demo.controller;import lombok.Data; import java.util.List;Data pu…

什么是感知器 怎么学习感知器

什么是感知器&#xff1f; 感知器是一种简单的人工神经网络算法&#xff0c;也是最早的神经网络单元之一&#xff0c;由Frank Rosenblatt于1957年提出。它被设计用来进行二元分类&#xff0c;即判断输入数据属于哪一类&#xff08;例如&#xff0c;是或否&#xff09;。感知器…