news 2026/7/28 2:38:05

HarmonyOS应用开发实战:猫猫大作战-遍历中修改集合的注意事项

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HarmonyOS应用开发实战:猫猫大作战-遍历中修改集合的注意事项

前言

在游戏引擎中,经常需要遍历集合并修改元素Array.forEach()是 ArkTS 中最常用的遍历方法,配合Array.from()将 Map 转换为数组后操作。

本文以GameEngine.updateCats()中的sortedCat.forEach()为锚点,讲解遍历中修改集合的注意事项。

提示:本系列不讲 ArkTS 基础语法与环境搭建,假设你已跟完第 1–123 篇。本篇是阶段四第 124 篇。

一、遍历修改

1.1 遍历下落的猫咪

sortedCats.forEach((cat) => { if (!cat.falling) return; const nextY = cat.y + 1; if (nextY >= GameConfig.BOARD_HEIGHT) { cat.falling = false; // 修改猫猫对象的属性 this.placeCatOnBoard(cat); } else if (this.board[nextY][cat.x] !== null) { cat.falling = false; // 修改猫猫对象的属性 this.placeCatOnBoard(cat); } else { cat.y = nextY; // 修改猫猫对象的 y 坐标 } });

1.2 注意事项

场景说明
修改元素属性✅ 在 forEach 中直接修改cat.falling
删除当前元素⚠️ 用Map.delete在外部处理
新增元素✅ 在遍历前/后处理,不要在遍历中 insert

二、总结

forEach 适用于遍历集合并修改元素属性的场景,删除/新增建议在遍历外处理。

核心要点

  • forEach遍历数组中的每只猫咪
  • 直接修改cat.falling/cat.y属性
  • 删除操作cats.delete(cat.id)在合并逻辑中处理

下一篇预告:第 125 篇将深入四邻合并检测——方向数组遍历。

如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!


相关资源:

  • Array.forEach MDN 文档
  • 开源鸿蒙跨平台社区
  • 第 123 篇:sort排序
  • 第 125 篇:合并检测
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 2:37:39

ALA算法优化FCM聚类的Matlab实现与工程实践

1. 项目背景与核心价值2025年ALA算法优化FCM聚类的技术方案,本质上是在解决传统模糊C均值聚类(FCM)算法对初始值敏感、易陷入局部最优的痛点。作为一名长期从事模式识别研究的工程师,我在实际项目中多次遇到FCM算法对噪声数据聚类效果不理想的问题。ALA(…

作者头像 李华
网站建设 2026/7/28 2:35:05

iOS应用逆向工程入门:CrackerXI+脱壳与SCP文件传输实战

1. 项目概述:从“黑盒”到“白盒”的探索之旅 在移动安全研究和应用开发领域,iOS应用因其封闭的生态和严格的沙盒机制,常常给人一种“黑盒”的感觉。我们日常使用的App,比如百度App,其核心逻辑和资源都被封装在一个经…

作者头像 李华
网站建设 2026/7/28 2:34:05

基于深度学习的会飞昆虫识别系统设计与优化

1. 项目概述:会飞的昆虫识别系统设计这个毕设项目的核心目标是构建一个能够自动识别会飞昆虫的深度学习系统。作为计算机视觉与生物学的交叉应用,这类系统在生态监测、农业害虫防治等领域具有重要价值。我选择PythonPytorch技术栈的原因很简单&#xff1…

作者头像 李华
网站建设 2026/7/28 2:33:59

AI工作流自动化:从代码生成到部署的完整开发流程整合

1. 先搞清楚这次收购到底在解决什么问题如果你关注AI应用开发领域,最近应该看到过“Cognition收购Poke”的消息。这起交易最值得关注的点不是收购金额或商业条款,而是它揭示了一个现实问题:AI应用开发正在从“单点工具”向“完整工作流”演进…

作者头像 李华
网站建设 2026/7/28 2:31:46

2026大模型学习路线:从基础到实战全解析

1. 2026大模型学习路线全景解析 在大模型技术爆发的当下,掌握系统化的学习路径已成为从业者最迫切的需求。这份路线图不同于网上零散的教程,而是基于工业界真实人才需求设计的全栈培养方案。我结合自己从转型大模型工程师到带队完成多个落地项目的经验&…

作者头像 李华