Swift 3 对数组中的大量数据进行排序

Swift 3 sorting large amounts of data in arrays

我有一个包含大量数据的字符串数组,其中只有一部分是我想要的。我使用像这样的分隔符来分隔好的数据:

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

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

现在我只想使用好的数据来简化以后的事情。我可以通过跨步使用 for in 循环创建另一个数组来做到这一点...

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

你可以这样走。

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

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

var result = contentArray[1].components(separatedBy: ",")
result = result.indices.flatMap { [=11=] % 2 != 0 ? nil : result[[=11=]] }
print(result)