手把手教你华为鸿蒙开发之第四节

news/2025/2/13 23:16:25/文章来源:https://www.cnblogs.com/Thewang/p/18578530

华为鸿蒙开发:数组操作基础

引言

在华为鸿蒙操作系统的开发中,数组是一种常用的数据结构,用于存储和管理一系列有序的元素。本文将通过 DevEco Studio 介绍数组的基本操作,包括数组的定义、取值、修改、添加和删除元素,以及使用 splice 方法在任意位置进行更复杂的数组操作。

数组的基本操作

1. 定义数组

在鸿蒙开发中,定义数组的方式与 JavaScript 类似。以下是定义一个包含字符串的数组的例子:

@Entry
@Component
struct Index {build() {let names: string[] = ['小明', '小红', '小刚'];console.log('整个数组', names);}
}

2. 数组取值

通过下标(索引)可以访问数组中的元素。数组的索引从 0 开始。

@Entry
@Component
struct Index {build() {let names: string[] = ['小明', '小红', '小刚'];console.log('数组取值', names[1]); // 输出小红console.log('数组长度', names.length); // 输出数组的长度}
}

3. 数组修改

同样地,通过下标可以修改数组中的元素。

@Entry
@Component
struct Index {build() {let names: string[] = ['小明', '小红', '小刚'];names[2] = '小李';console.log('修改数组', names); // 输出修改后的数组}
}

数组的添加和删除

添加元素

  • unshift:在数组开头添加一个或多个元素,并返回新的长度。
  • push:在数组末尾添加一个或多个元素,并返回新的长度。
@Entry
@Component
struct Index {build() {let songs: string[] = ['遥远的她', '岁月神偷', '平凡之路'];songs.unshift('夜空中最亮的星'); // 在开头新增console.log('返回数组长度', songs.length); // 输出操作后的数组长度console.log('数组songs', songs);songs.push('岁月如歌', '匆匆那年'); // 在结尾新增console.log('数组', songs);}
}

删除元素

  • shift:删除数组的第一个元素,并返回被删除的元素。
  • pop:删除数组的最后一个元素,并返回被删除的元素。
@Entry
@Component
struct Index {build() {let songs: string[] = ['遥远的她', '岁月神偷', '平凡之路'];console.log('返回删除的项', songs.shift()); // 删除并输出第一个元素console.log('数组', songs);songs.pop(); // 删除最后一个元素console.log('数组', songs);}
}

使用 splice 方法

splice 方法可以在数组的任意位置进行删除或新增内容。它有三个参数:操作的起始位置、删除的元素数量和要新增的元素。

  • 删除:splice(起始位置, 删除数量)
  • 新增:splice(起始位置, 0, 新增元素)
  • 替换:splice(起始位置, 删除数量, 新增元素)
@Entry
@Component
struct Index {build() {let songs: string[] = ['遥远的她', '岁月神偷', '平凡之路', '突然好想你', '小幸运'];songs.splice(2, 2); // 删除从索引2开始的两个元素console.log('数组songs', songs);songs.splice(1, 0, '演员'); // 在索引1的位置新增元素console.log('数组songs', songs);songs.splice(1, 1, '遥不可及'); // 删除索引1的元素,并替换为'遥不可及'console.log('数组songs', songs);}
}

结语

数组是编程中非常基础且重要的数据结构。掌握数组的基本操作对于任何开发工作都是必要的。希望本文能帮助你在华为鸿蒙开发中更好地使用数组。如果你有任何问题或想要进一步讨论,欢迎在评论区留下你的想法。


以上就是一篇关于华为鸿蒙开发中数组操作的博客文章。希望这篇文章能帮助你更好地理解和使用华为鸿蒙开发中的数组操作。如果你在使用 DevEco Studio 进行开发时遇到任何问题,欢迎交流讨论。

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

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

相关文章

【NLP高频面题 - LLM架构篇】旋转位置编码RoPE相对正弦位置编码有哪些优势?

【NLP高频面题 - LLM架构篇】旋转位置编码RoPE相对正弦位置编码有哪些优势? 重要性:⭐⭐⭐【NLP高频面题 - LLM架构篇】旋转位置编码RoPE相对正弦位置编码有哪些优势? 重要性:⭐⭐⭐ 💯NLP Github 项目:NLP 项目实践:fasterai/nlp-project-practice 介绍:该仓库围绕着…

PbootCMS授权码怎么申请

PbootCMS的授权较为简单, 登录网站可以免费获取永久授权码免费授权说明: 1、获取域名授权码永久免费,并且永久有效; 2、授权码不需要联网验证,官方服务器故障不会影响使用本系统的任何网站; 3、对本系统授权码离线验证机制有疑问的,可以自行断网测试网站运行情况; 4、获…

js逆向实战之某某查响应数据解密

声明:本篇文章仅用于知识分享,不得用于其他用途 网址:https://www.hanghangcha.com/securities-data 解密逻辑看流量包,响应数据明显是加过密的。第一反应是去搜索interceptors,主要看响应拦截器,两处都没有。搜url关键字,只有一处。打断点,调试一番,发现没有跟解密相…

无法接受到get方法的请求参数,报错404

其实是因为没加注解==加上注解就可以接收到请求参数了:

Input报错“Form elements must have labels: Element has no title attribute Element has no placeholde”

写表单,无需 label 标签,只需给 input 添加 title 或 placeholder 任一属性,即可消除浏览器后台管理的Error~喵~ 项目开发难免会遇到些不解的问题,以下总结的是简化版,重在复现问题,解决问题。 写表单时,如果只是单独写了input元素,发现在后台管理会飘红。感觉很奇怪,…

考研打卡(32)

开局(32) 开始时间 2024-11-30 13:44:59 结束时间 2024-11-30 15:18:42刚才去洗牙,体验了一波新事物嗷,挺新奇的,但是发现有个好大好大的蛀牙啊啊啊啊啊数据结构判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以用_____(中国石油大学 2013年) A 求关键路径…

网站公司信息修改,如何在网站中轻松修改公司信息

公司信息是网站的重要组成部分,通过以下步骤可以轻松进行修改:登录后台:打开浏览器,输入网站的后台地址,使用管理员账号登录。进入公司信息管理:在后台左侧菜单栏中选择“内容” -> “公司信息”。 找到需要修改的信息,点击“编辑”。修改公司信息:在编辑页面中,修…

怎么修改公司的网站首页,如何在网站后台或代码中修改公司网站首页

修改公司网站首页可以提升网站的专业性和用户体验。以下是具体步骤:登录后台:如果网站有后台管理系统,使用管理员账号登录。 在后台左侧菜单栏中选择“内容” -> “页面”或“模板管理”。 找到需要修改的首页,点击“编辑”。修改内容:在编辑页面中,修改文本内容、图片…

鸿蒙Next元服务开发详解

之前写过关于元服务的文章,大家对元服务应该也有一定的了解,它是一种更加高效便捷的应用形式,免安装,有独立的入口,说的简单一点就像是把微信小程序放到系统层面,相比微信小程序更加快捷,因为连微信也不用打开了。 今天就分享一下怎么开发一个鸿蒙元服务。创建项目 元服…

浅谈鸿蒙跨平台开发框架ArkUI-X

之前写过使用uniapp的跨平台开发鸿蒙项目,今天分享一下开发体验更友好的跨平台开发框架ArkUI-X。 ArkUI-X看起来像是鸿蒙官方的框架,在DevEco中就可以安装和使用,而且会ArkUI就可以开发安卓和、iOS和鸿蒙三个平台的app,下面简单介绍一下它的用法。 打开DevEco的Preference菜…

20222425 2024-2025-1 《网络与系统攻防技术》实验五实验报告

1.实验内容 Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是…

String类的特点

1.String类的特点1.java程序中,只要是双引号字符串,就都是String类的对象 如图只有String这一个类有这种特殊的创建对象方法 我们知道,只有对象才可以通过 点什么来调用方法,而图中s.toString等方法都可以调用,所以s就是String的对象 . 2.字符串在创建之后,内容不可更改 …