回答編集履歴
2
mapを使う理由付けを記載
test
CHANGED
@@ -28,6 +28,20 @@
|
|
28
28
|
|
29
29
|
|
30
30
|
|
31
|
+
しかし、重複してるコピペコードをよく見てください。
|
32
|
+
|
33
|
+
変更箇所は`"102", "201", "202", "303", "401"`の部分だけですよね?
|
34
|
+
|
35
|
+
ならば最も適切なのは`["102", "201", "202", "303", "401"]`というルームナンバーリストという配列からmapでキー情報を取り出す事になります。
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
これでコピペコード郡が一掃されます。
|
40
|
+
|
41
|
+
それではいきましょう。
|
42
|
+
|
43
|
+
|
44
|
+
|
31
45
|
```js
|
32
46
|
|
33
47
|
const keys = [
|
@@ -44,9 +58,9 @@
|
|
44
58
|
|
45
59
|
|
46
60
|
|
47
|
-
//
|
61
|
+
// このように欲しい鍵情報の配列を準備したが
|
48
|
-
|
62
|
+
|
49
|
-
//
|
63
|
+
// 直接["102", "201", "202", "303", "401"].map(fn)とやっても良い
|
50
64
|
|
51
65
|
const rooms = ["102", "201", "202", "303", "401"];
|
52
66
|
|
1
filter→findの本文追加
test
CHANGED
@@ -108,6 +108,24 @@
|
|
108
108
|
|
109
109
|
続いて本当にfilterが妥当なものなのかを考える必要があります。
|
110
110
|
|
111
|
+
before、afterのデータとコードを見る限りfilterである意味が微塵もありません。
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
一つの鍵で複数の部屋を開けられる(マスターキー?)という時点で仰天ですが、
|
116
|
+
|
117
|
+
その割には大した数のドアは開けられませんし、掃除してくれる方に対するセキュリティなのかな?
|
118
|
+
|
119
|
+
まぁいいや、清掃担当用のマスターキーと仮定しましょう。
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
もし一つの部屋が複数のマスターキーで開けられて、
|
124
|
+
|
125
|
+
全ての鍵を列挙しなければならないのであれば別ですが、
|
126
|
+
|
127
|
+
一つの部屋が一つのマスターでしか開けられない前提ならばfilterは混乱の元でしかないのでfindにしてしまいましょう。
|
128
|
+
|
111
129
|
|
112
130
|
|
113
131
|
```js
|