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)
我有一个包含大量数据的字符串数组,其中只有一部分是我想要的。我使用像这样的分隔符来分隔好的数据:
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)