UE4 数组元素的删除

**

UE4 中 删除数组元素的方法

**

背景: 在应用开发中, 我们定义了一个 int 或者 string 类型的数组 。比如 int a【6】={3 ,4,4,5,6,8} 。我们要删除 其中所有的 4 。

UE4 中可用的蓝图节点是 remove item 或者 remove Index

初始解决的方法: 我们直接使用 for each loop 通过判断 当时 item 是否等于过滤 的item , 如果是 , 则调用数组 直接删除当前的 Item .

遇到的问题: 我们发现 按照我们的 例子, 只能删除第一个 4 。 第二个 4 是无法删除的。

原因分析: 我们在进行 for each loop 判断时,如果直接删除了 当前的 Item 会 导致 当前的 数组变化。原先是6个元素 直接变成了 5个。 加入原先已经遍历到第二个元素(第一个4),删除4 之后。 下一次 应该是 遍历 第三个元素 。此时对应的就是 5. 直接将第二个4 给忽略了。

解决方案: 我们可以首先 将 数组遍历, 存储所有 需要删除 Item 的 INdex ,组成一个新的 int 类型数组 B。 然后 对此 数组B 的每一个元素进行 处理, 当前 Item - 当前 Index ,构成一个新的数组 C.

使用此 数组C 结合 原先的 数组 a , 在遍历过程中 ,配合指令 remove index 即可实现 删除所有的 特定元素。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值