0

我有一个包含大量数据的字符串数组,其中只有一些我想要。我使用如下分隔符分隔好的数据:

var result = contentArray[1].components(separatedBy: ",")

这给我留下了结果数组的偶数索引中的垃圾数据,以及奇数索引中的好数据。

现在我只想使用好的数据让事情变得简单。我可以通过使用 for in 循环创建另一个数组来实现这一点...

但这似乎至少是额外的一步。有没有一种方法可以在不创建 2 个数组的情况下对第一个数组中的数据进行排序?当看起来我应该能够在 1 或 2 中完成时,这将使应用程序创建 3 个包含大量数据的数组。我计划使用至少 20 个数据集来执行此操作,这样看起来就多了很多内存中的数组

4

1 回答 1

1

你可以这样走。

let filterArray = result.indices.flatMap { $0 % 2 != 0 ? nil : result[$0] }
print(filterArray)

编辑:如果您想将过滤器的输出存储在同一个数组中,请尝试这样。

var result = contentArray[1].components(separatedBy: ",")
result = result.indices.flatMap { $0 % 2 != 0 ? nil : result[$0] }
print(result)
于 2017-05-15T16:02:03.617 回答