回答編集履歴

1

追記

2020/02/28 19:47

投稿

kairi003
kairi003

スコア1332

test CHANGED
@@ -40,6 +40,56 @@
40
40
 
41
41
  Array.forEachでのreturnは、「その関数を終了させる = 次の要素について実行」なので、普通のループで言うところのcontinueの挙動になりますね。
42
42
 
43
- 1個目のコードではdata[4]=5以外でifの先が実行されます。(ありませんが)
43
+ 1個目のコードではvalueが4以外でifの先が実行されます。(ありませんが)
44
44
 
45
+ もし
46
+
47
+ ```javascript
48
+
49
+ data.forEach((res) => {
50
+
51
+ if (res == 4) return;
52
+
53
+ console.log(res);
54
+
55
+ }) ;
56
+
45
- 2個目のは、returnしたら関数が終わってしまうのでhogehugaは出力されませんね。
57
+ console.log('hogehuga');
58
+
59
+ ```
60
+
61
+ としたら
62
+
63
+ 出力は
64
+
65
+ ```javascript
66
+
67
+ 1
68
+
69
+ 2
70
+
71
+ 3
72
+
73
+ 5
74
+
75
+ 6
76
+
77
+ hogehuga
78
+
79
+ ```
80
+
81
+ です。
82
+
83
+ 2個目のは、returnしたら関数が終わってしまうのでhogehugaは出力されませんね。またfor...inなのでvalueではなくindexを見てます。保証されませんがもしindexが昇順に参照できたとしたら、同じくif後にdata[i]を出力した場合出力は次のようになります。
84
+
85
+ ```javascript
86
+
87
+ 1
88
+
89
+ 2
90
+
91
+ 3
92
+
93
+ 4
94
+
95
+ ```