Swift的Array如何过滤数组中的nil数据 - 用flatMap

As of Swift 2.0, you don't need to write your own extension to filter nil values from an Array, you can use flatMap, which flattens the Array and filters nils:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let optionals : [String?] = ["a", "b", nil, "d"]
let nonOptionals = optionals.flatMap{$0}
print(nonOptionals)
let optionals : [String?] = ["a", "b", nil, "d"] let nonOptionals = optionals.flatMap{$0} print(nonOptionals)
let optionals : [String?] = ["a", "b", nil, "d"]
let nonOptionals = optionals.flatMap{$0}
print(nonOptionals)

Prints:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[a, b, d]
[a, b, d]
[a, b, d]

 

Leave a Reply

Your email address will not be published. Required fields are marked *