回答編集履歴

2

first

2018/07/26 08:19

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -1,4 +1,8 @@
1
+ # flatMap
2
+
3
+
4
+
1
- flatMapで一次元配列にしてcontains。
5
+ flatMapで一次元配列にしてからcontains。
2
6
 
3
7
 
4
8
 
@@ -13,3 +17,23 @@
13
17
  print(arrayOfArray.flatMap {$0}.contains("HHH")) //=> false
14
18
 
15
19
  ```
20
+
21
+
22
+
23
+ # first
24
+
25
+
26
+
27
+ 普通にループ回してる感じ。
28
+
29
+ nilなら含まれていない。
30
+
31
+
32
+
33
+ ```swift
34
+
35
+ print(arrayOfArray.first {$0.contains("EEE")}) //=> Optional(["DDD", "EEE", "FFF"])
36
+
37
+ print(arrayOfArray.first {$0.contains("HHH")}) //=> nil
38
+
39
+ ```

1

flatMap

2018/07/26 08:19

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -1 +1,15 @@
1
+ flatMapで一次元配列にしてcontains。
2
+
3
+
4
+
1
- `Set`使って下さい。
5
+ ```swift
6
+
7
+ var arrayOfArray = [["AAA", "BBB", "CCC"], ["DDD", "EEE", "FFF"]]
8
+
9
+ print(arrayOfArray.flatMap {$0}) //=> ["AAA", "BBB", "CCC", "DDD", "EEE", "FFF"]
10
+
11
+ print(arrayOfArray.flatMap {$0}.contains("EEE")) //=> true
12
+
13
+ print(arrayOfArray.flatMap {$0}.contains("HHH")) //=> false
14
+
15
+ ```