回答編集履歴

2

追記

2020/10/17 22:20

投稿

退会済みユーザー
test CHANGED
@@ -1,10 +1,10 @@
1
1
  該当のソースコードの挙動は理解していますか?
2
2
 
3
- ざっと見た感じ、FuzzNum と buzzNum の倍数を「作り出そう」としているのですが、要件として
3
+ ざっと見た感じ、FizzNum と BuzzNum の倍数を「作り出そう」としているのですが、要件として
4
4
 
5
5
 
6
6
 
7
- > 1.fizzNumに入力された値の倍数とbuzzNumに入力された値の倍数を小さい順に表示する
7
+ > 1.FizzNumに入力された値の倍数とBuzzNumに入力された値の倍数を小さい順に表示する
8
8
 
9
9
 
10
10
 
@@ -14,4 +14,180 @@
14
14
 
15
15
 
16
16
 
17
- 手っ取り早いのは、順次インクリメントした数字が、FuzzNum と buzzNum の倍数かどうかを確認することですが、私は今の方向性の方が好きなので、頑張ってください。
17
+ 手っ取り早いのは、順次インクリメントした数字が、FizzNum と BuzzNum の倍数かどうかを確認することですが、私は今の方向性の方が好きなので、頑張ってください。
18
+
19
+
20
+
21
+ #追記
22
+
23
+ 自己回答として倍数かどうかを検証する方向に変えたコードに落ち着いてしまったようなので、「倍数を作る方向性のコード」を追記しておきます。
24
+
25
+ ソートしなくてよいようにインデックスを使用しました。
26
+
27
+ 普段 JavaScript を使用しないので、ちょっと自信ないですが。。。
28
+
29
+ ```JavaScript
30
+
31
+ const num1 = {'str':'Fizz', 'num':5};
32
+
33
+ const num2 = {'str':'Buzz', 'num':2};
34
+
35
+
36
+
37
+ const a = num1.num < num2.num ? num1 : num2 ;
38
+
39
+ const b = num1.num < num2.num ? num2 : num1 ;
40
+
41
+
42
+
43
+ let i = 0;
44
+
45
+ let result = [];
46
+
47
+
48
+
49
+ while (a.num * ++i <= 100) {
50
+
51
+ result[a.num * i] = result[a.num * i] ? 'FizzBuzz' : a.str;
52
+
53
+ if (b.num * i <= 100) result[b.num * i] = b.str;
54
+
55
+ }
56
+
57
+
58
+
59
+ console.table(result);
60
+
61
+ ```
62
+
63
+ ```
64
+
65
+ ┌─────────┬────────────┐
66
+
67
+ │ (index) │ Values │
68
+
69
+ ├─────────┼────────────┤
70
+
71
+ │ 2 │ 'Buzz' │
72
+
73
+ │ 4 │ 'Buzz' │
74
+
75
+ │ 5 │ 'Fizz' │
76
+
77
+ │ 6 │ 'Buzz' │
78
+
79
+ │ 8 │ 'Buzz' │
80
+
81
+ │ 10 │ 'FizzBuzz' │
82
+
83
+ │ 12 │ 'Buzz' │
84
+
85
+ │ 14 │ 'Buzz' │
86
+
87
+ │ 15 │ 'Fizz' │
88
+
89
+ │ 16 │ 'Buzz' │
90
+
91
+ │ 18 │ 'Buzz' │
92
+
93
+ │ 20 │ 'FizzBuzz' │
94
+
95
+ │ 22 │ 'Buzz' │
96
+
97
+ │ 24 │ 'Buzz' │
98
+
99
+ │ 25 │ 'Fizz' │
100
+
101
+ │ 26 │ 'Buzz' │
102
+
103
+ │ 28 │ 'Buzz' │
104
+
105
+ │ 30 │ 'FizzBuzz' │
106
+
107
+ │ 32 │ 'Buzz' │
108
+
109
+ │ 34 │ 'Buzz' │
110
+
111
+ │ 35 │ 'Fizz' │
112
+
113
+ │ 36 │ 'Buzz' │
114
+
115
+ │ 38 │ 'Buzz' │
116
+
117
+ │ 40 │ 'FizzBuzz' │
118
+
119
+ │ 42 │ 'Buzz' │
120
+
121
+ │ 44 │ 'Buzz' │
122
+
123
+ │ 45 │ 'Fizz' │
124
+
125
+ │ 46 │ 'Buzz' │
126
+
127
+ │ 48 │ 'Buzz' │
128
+
129
+ │ 50 │ 'FizzBuzz' │
130
+
131
+ │ 52 │ 'Buzz' │
132
+
133
+ │ 54 │ 'Buzz' │
134
+
135
+ │ 55 │ 'Fizz' │
136
+
137
+ │ 56 │ 'Buzz' │
138
+
139
+ │ 58 │ 'Buzz' │
140
+
141
+ │ 60 │ 'FizzBuzz' │
142
+
143
+ │ 62 │ 'Buzz' │
144
+
145
+ │ 64 │ 'Buzz' │
146
+
147
+ │ 65 │ 'Fizz' │
148
+
149
+ │ 66 │ 'Buzz' │
150
+
151
+ │ 68 │ 'Buzz' │
152
+
153
+ │ 70 │ 'FizzBuzz' │
154
+
155
+ │ 72 │ 'Buzz' │
156
+
157
+ │ 74 │ 'Buzz' │
158
+
159
+ │ 75 │ 'Fizz' │
160
+
161
+ │ 76 │ 'Buzz' │
162
+
163
+ │ 78 │ 'Buzz' │
164
+
165
+ │ 80 │ 'FizzBuzz' │
166
+
167
+ │ 82 │ 'Buzz' │
168
+
169
+ │ 84 │ 'Buzz' │
170
+
171
+ │ 85 │ 'Fizz' │
172
+
173
+ │ 86 │ 'Buzz' │
174
+
175
+ │ 88 │ 'Buzz' │
176
+
177
+ │ 90 │ 'FizzBuzz' │
178
+
179
+ │ 92 │ 'Buzz' │
180
+
181
+ │ 94 │ 'Buzz' │
182
+
183
+ │ 95 │ 'Fizz' │
184
+
185
+ │ 96 │ 'Buzz' │
186
+
187
+ │ 98 │ 'Buzz' │
188
+
189
+ │ 100 │ 'FizzBuzz' │
190
+
191
+ └─────────┴────────────┘
192
+
193
+ ```

1

修正

2020/10/17 22:19

投稿

退会済みユーザー
test CHANGED
@@ -8,6 +8,10 @@
8
8
 
9
9
 
10
10
 
11
- があるので、作った数字をすべて配列にでもまとめた後に、ソートしてやる必要があります。
11
+ があるので、この方向性で実現するのであれば、作った数字をすべて配列にでもまとめた後に、ソートしてやる必要があります。(ほかにも双方の倍数を抽出するとかも必要)
12
12
 
13
13
  また分岐条件がズレたことをやっているので、フローを見直してください。
14
+
15
+
16
+
17
+ 手っ取り早いのは、順次インクリメントした数字が、FuzzNum と buzzNum の倍数かどうかを確認することですが、私は今の方向性の方が好きなので、頑張ってください。