我有一个名为filters的数组,其中包含true和false,指示是否应处理数据数组中的某些索引位置。
如何使用函数方法(map/filter/reduce)执行以下操作?

var targetData: [String] = []
for i in 0..<filters.count where filters[i] {
    targetData.append(data[i])
}

最佳答案

有许多可能性,例如:

let filteredData = zip(filters, data)
   .filter { (shouldKeep, _) in shouldKeep }
   .map { (_, item) in item }


let filteredData = zip(filters, data)
   .filter { $0.0 }
   .map { $0.1 }

注意,处理两个连接的数组的最简单方法是将它们合并到一个数组中。

关于swift - 如何在Swift中进行功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46160329/

10-11 19:48