【Swift】map関数の使い方!flatMap/compactMapとの違いと使い方

この記事からわかること
- Swiftのmap関数の使い方
- forEachやfor-inとの使い分け
- flatMap/compactMapの使用方法と違い
\ アプリをリリースしました /
Swiftで配列や辞書型を操作できる便利な関数であるmapやflatMap、compactMapの使い方と違いについてまとめていきます。
map関数とは?
map関数とは配列に対して引数に渡したクロージャーを全ての要素に対して実行した配列を返す関数です。クロージャー内では$0
形式で配列内の要素にアクセスでき、任意の処理を行わせることができます。
おすすめ記事:【Swift】クロージャとは?関数との違いとキャプチャの意味
例えば以下は「配列内の全ての要素の値を10倍」にします。
forEachやfor-inとの使い分け
このような処理はforEach
やfor-in
を使用することでも実装可能です。これらとの使い分けは返り値が必要かどうかです。
map関数は全ての要素に任意の処理を実行した後その結果が適応された配列を返します。forEach
やfor-in
は値を返さないので処理を実行させたい時だけに使います。
おすすめ記事:【Swift】for-in文の使い方!配列や数値レンジの指定方法
flatMap関数
flatMap
関数はクロージャー内に渡された多次元配列を一次元配列に変換した配列を返す関数です。
compactMap関数
compactMap
関数は配列内のnilを除去した配列を返す関数です。
compactMap
関数を使用することで配列内の要素の中で数値に変換できる値のみを取得することも可能です。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。