当前位置: 首页 > 知识库问答 >
问题:

从for循环外部访问数据

钮出野
2023-03-14

我正在迭代JSON数据,获取数据并将其赋值给一个全局变量,当我在循环内打印变量时,我得到了所有数据,然而,当我在循环外打印变量时,我只得到了JSON对象的最后一些数据。我的目标是获取数据并将其作为函数的参数传递。我如何获取循环之外的所有数据?

var stockParam = [String]()
for info in stockInfo {
   self.stockParam = [info.symbol]
   print("inside \(stockParam)")
 }
             
  print("outside \(stockParam)")
fetchProfileData(stock: stockParam)

共有1个答案

苏雅珺
2023-03-14

这是因为您将stockParam设置为一个元素(info.symbol)的数组:

self.stockParam = [info.symbol]

要在stockParam数组中保存所有信息符号,您必须在每次迭代时追加元素:

for info in stockInfo {
    self.stockParam.append(info.symbol)
 }

或者干脆使用映射函数:

var stockParam = stockInfo.map {$0.symbol}
 类似资料:
  • 我想在一个并行外部循环中运行一个包含for循环(应该并行运行)的函数。因此看起来如下所示: 给定上面的代码,我希望在函数中为循环创建5个并行线程,并且希望这5个线程中的每个线程创建另一个线程来运行自己的并行for循环。

  • 我试图在for循环中获得for循环,因此输出如下: 我希望输出显示一个正方形 我不知道它为什么不这样做。下面是我的代码:

  • 问题内容: 我有一个整数数组。 我想为每个X创建一个沿Y迭代的线程。我不知道如何将适当的X值传递给每个线程。 本质上我希望能够做到 任何帮助,将不胜感激 问题答案: 只值可以的方法和本地匿名内部类内被捕获。您需要按以下方式更改代码:

  • 下面是我的代码 错误:我在封闭范围中定义的局部变量必须是最终的或实际上是最终的

  • 问题内容: 看到: 问题在于,警报的item.id始终是数组中最后一个项目的ID(this.items)。怎么解决? 问题答案: 这里的问题是变量随每个循环而变化。在以后参考时,将使用其保留的最后一个值。您可以使用一种称为闭包的技术(本质上是一个返回函数的函数)来快速确定变量的范围。 旁注我看到您在这里有jQuery。它具有可以与数组一起使用的辅助函数,并且可以作为简单的for/each循环的快捷

  • 我有一个复选框列表,想用复选框的所有名称做一些事情。但是我似乎无法访问HTML对象: 这将产生TypeError:elem.hide不是函数 但是console.log(elem)显示: 如何访问每个元素?