teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

while文版

2018/07/21 03:41

投稿

think49
think49

スコア18194

answer CHANGED
@@ -21,17 +21,42 @@
21
21
  条件式の内容はどうでもよく、for文の外で条件式の真偽判定して代入値を制御したいパターン。
22
22
 
23
23
  ```JavaScript
24
- var array = ['hoge', 'fuga', 'piyo'];
24
+ function sample1 (array) {
25
- var result = array[0]; // 初期値を与える
25
+ var result = array[0]; // 初期値を与える
26
26
 
27
- for (let value of array) {
27
+ for (let value of array) {
28
- if (value === 'fuga') {
28
+ if (value === 'fuga') {
29
- result = 'fuga';
29
+ result = 'fuga';
30
- break;
30
+ break;
31
+ }
31
32
  }
33
+
34
+ return result;
32
35
  }
33
36
 
37
+ var array1 = ['hoge', 'fuga', 'piyo'],
38
+ array2 = ['hoge', 'fuga2', 'piyo'];
39
+
34
- console.log(result); // "fuga"
40
+ console.log(sample1(array1)); // "fuga"
41
+ console.log(sample1(array2)); // "hoge"
35
42
  ```
36
43
 
44
+ `while` 文版。
45
+
46
+ ```JavaScript
47
+ function sample2 (array) {
48
+ var i = array.length;
49
+
50
+ while (--i > 0 && array[i] !== 'fuga');
51
+
52
+ return array[i];
53
+ }
54
+
55
+ var array1 = ['hoge', 'fuga', 'piyo'],
56
+ array2 = ['hoge', 'fuga2', 'piyo'];
57
+
58
+ console.log(sample2(array1)); // "fuga"
59
+ console.log(sample2(array2)); // "hoge"
60
+ ```
61
+
37
62
  Re: yoshipu さん

1

初期値を修正

2018/07/21 03:41

投稿

think49
think49

スコア18194

answer CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  ```JavaScript
24
24
  var array = ['hoge', 'fuga', 'piyo'];
25
- var result = 'fuga'; // 初期値を与える
25
+ var result = array[0]; // 初期値を与える
26
26
 
27
27
  for (let value of array) {
28
28
  if (value === 'fuga') {