先日久しぶりに Zenn を眺めていたら、今まで使ったことのない便利な Array
のメソッドの紹介記事を見つけたので、忘れないようにメモしておきます👀
例えば、配列の全ての要素がString
であるかどうかを調べる必要があった場合、今までは下記のように書いていました。
let list: [Any] = ["a", 1, "b", "c", 2, 3] if list.filter({ $0 is String }).count == list.count { print("全て「String」です") } else { print("「String」でない要素が含まれています。") }
これを allSatisfy
メソッドを使うことで下記のようにシンプルに書くことができます。便利!
let list: [Any] = ["a", 1, "b", "c", 2, 3] if list.allSatisfy({ $0 is String }) { print("全て「String」です") } else { print("「String」でない要素が含まれています。") }
てな感じで本日も以上になります🍺
参考
- https://zenn.dev/takashings/articles/795d6b22c43215
- https://developer.apple.com/documentation/swift/array/2994715-allsatisfy