【问题标题】:How to iterate through an array with objects and array of objects in multiple levels?如何遍历具有多个级别的对象和对象数组的数组?
【发布时间】:2018-07-19 07:05:54
【问题描述】:

我有一个包含对象的数组。这些对象可能有其他对象数组,那么这些对象也可能有其他对象和对象数组。真的没有限制。

那么,我如何遍历这个数组中的所有对象,无论它们嵌套多深?如果我知道数组的深度,我可以通过使用多个 for 循环轻松地做到这一点。我在遍历所有元素时遇到问题。

我无法想出一个逻辑来做到这一点。有人能帮帮我吗?我正在尝试快速执行此操作。

【问题讨论】:

  • 如果你不知道你的阵列可以有多深,那你就麻烦大了。你需要重新考虑你的设计。如果你不帮助自己,这里没有人能帮助你。当您做出努力时,您可以在此处分享您的代码以获得更好的响应。

标签: arrays swift logic


【解决方案1】:
  • 有一个Any 对象。

  • 根据需要将值存储到该对象中。

  • 当您读取对象时,将其强制转换为所需的数组。

  • 如果转换成功,那么您可以像访问数组一样访问 Any 对象。

【讨论】:

  • 但是我如何在不知道它有多深的情况下遍历每个元素?我的意思是,如果它有 2 层深,我可以放 3 个 for 循环。但在这种情况下,我不知道。我知道如何毫无问题地访问这些项目。对不起,如果我不清楚。现在更新问题。
  • 使用递归。有一个方法可以将这个Any 对象传递给它。如果转换为数组成功,则对该数组的每个元素单独调用该方法。
猜你喜欢
  • 2021-01-15
  • 2020-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-04
  • 2019-11-14
  • 2022-11-17
相关资源
最近更新 更多