どうも、ちょげ(@chogetarou)です。
配列(array)のnilの値を除外する方法を紹介します。
方法

配列(array)のnilの値を除外する方法は、2つあります。
compactMap()
ひとつは、compactMap()を使う方法です。
まず、配列からcompactMap()を呼び出します。
そして、compactMapのクロージャーで「$0」を返します。
//arr=対象の配列
let result = arr.compactMap { $0 }
上記のmap()は、呼び出した配列のnilの値を除外した配列を返します。
使用例
import Foundation
let nums = [nil, "one", "two", nil, "three", nil, nil, "four", "five"]
let result = nums.compactMap { $0 }
print(result)
出力:
["one", "two", "three", "four", "five"]
filter()
もうひとつは、filter()を使う方法です。
まず、配列からfilter()を呼び出します。
そして、filter()のクロージャーで「$0 != nil」を返します。
//arr=対象の配列
let result = arr.filter { $0 != nil }
上記のfilter()は、呼び出した配列のnilの値を除外した配列を返します。
使用例
import Foundation
let nums = [nil, "one", "two", nil, "three", nil, nil, "four", "five"]
let result = nums.filter { $0 != nil }
print(result)
出力:
[Optional("one"), Optional("two"), Optional("three"), Optional("four"), Optional("five")]
まとめ
配列(array)のnilの値を除外する方法は、次の2つです。
- compactMap()を使う方法
let result = arr.compactMap { $0 }
- filter()を使う方法
let result = arr.filter { $0 != nil }
コメント