Swiftでのfor文の書き換えについて


Swiftではmap,filterなどの便利な機能があるのであまりfor文を使わない方がいいと聞いたのですが、以下のような場合も書き換え可能な方法がありますでしょうか。

[code]

    var test = ["りんご","ごりら","らっぱ","ぱらしゅーと","とんねる"]
    for i in 0..<test.count{
        if test[i] == "ごりら"{
            test[i] = "ごじら"
        }
    }
    
[/code]

要素をすべて確認して、一致する場合、一致した要素そのものに変更を加えたいのです。




`map` の中で条件分岐をすれば良いです。

[code]

    test.map { (s: String) -> String in
        if (s == "ごりら") {
            return "ごじら"
        } else {
            return s
        }
    }
    
[/code]

[Wandbox](https://wandbox.org/permlink/5Nt2ucI0OTZBQYhI)




forとmapは役割が異なるので、単純に置き換えられるわけではありません。  
例に挙げられたプログラムの場合、forループでtest配列そのものを書き換えていますが、mapの場合はtest配列はそのままで、新しい配列がmapの戻り値として返ってきます。  
参考までに。

