こすげのブログ

金髪エンジニアのブログ

【Swift】Arrayに検索機能を追加する

前にQiitaに投稿した内容を書いてみた。

配列の要素内にある要素があるかどうかを知りたい

ということで書いてみました。

【Swift】Arrayに検索機能を追加する ref: http://qiita.com/ryokosuge/items/c2c1fbeed297db965529

補足

ArrayExtension.swiftは僕がstackOverflowで見つけたやつです。

ArrayExtension_2.swiftArrayExtension_3.swiftはコメントでいただいたやつです。

これの違いを簡単に説明します。

最初に自分で投稿したソースコード

当初この機能を実装した時、配列の要素内は重複していない前提で考えていました。

なので、要素が見つかった段階でbreakしてforループを抜けています。

コメントで教えてもらったArrayExtension_2.swift

こちらは重複も考えての拡張になります。

なので、返り値も[(Int, T)]Tuple型で返しています。

コメントで教えてもらったArrayExtension_3.swift

こちらは僕が載せたソースコードをより完結(というかSwiftらしく)書いてくれたソースコードになります。

まとめ

どちらもわかりやすく、用途がはっきりしているので使いやすいかと思います。

また重複なしをしたいならArrayでごにょごにょやるより素直にSet型を使うのがよろしいかと思います。

以上です。