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

回答編集履歴

3

ソースコードに全角が入っていたかもしれない2

2019/09/13 19:30

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -63,7 +63,7 @@
63
63
  document.write("<div>"+i+": "+movieComb[i]+"</div>");
64
64
  movie1 = movieComb[i][0];
65
65
  movie2 = movieComb[i][1];
66
-   // 以降movie1,2を用いた処理
66
+ // 以降movie1,2を用いた処理
67
67
  }
68
68
  ```
69
69
 
@@ -97,7 +97,7 @@
97
97
  document.write("<div>"+i+": "+movieComb[i]+"</div>");
98
98
  movie1 = movieComb[i][0];
99
99
  movie2 = movieComb[i][1];
100
-   // 以降movie1,2を用いた処理
100
+ // 以降movie1,2を用いた処理
101
101
  }
102
102
  ```
103
103
 

2

空白部分に全角が入っていたかもしれない

2019/09/13 19:30

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -61,8 +61,8 @@
61
61
  for (let i = 0; i < movieComb.length; i++) {
62
62
  // alert(movieComb[i]);
63
63
  document.write("<div>"+i+": "+movieComb[i]+"</div>");
64
-   movie1 = movieComb[i][0];
64
+ movie1 = movieComb[i][0];
65
-   movie2 = movieComb[i][1];
65
+ movie2 = movieComb[i][1];
66
66
    // 以降movie1,2を用いた処理
67
67
  }
68
68
  ```
@@ -95,8 +95,8 @@
95
95
  for (let i = 0; i < movieComb.length; i++) {
96
96
  // alert(movieComb[i]);
97
97
  document.write("<div>"+i+": "+movieComb[i]+"</div>");
98
-   movie1 = movieComb[i][0];
98
+ movie1 = movieComb[i][0];
99
-   movie2 = movieComb[i][1];
99
+ movie2 = movieComb[i][1];
100
100
    // 以降movie1,2を用いた処理
101
101
  }
102
102
  ```

1

ソースコードの変更

2019/09/13 19:29

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -7,15 +7,13 @@
7
7
 
8
8
  // 組み合わせの用意
9
9
  let movieComb = movieList.map( n => {
10
- let res = [];
11
- movieList.forEach( m => {
12
- if (n !== m) res.push([n, m]);
13
- });
14
- return res;
10
+ return movieList
11
+ .map( m => [n, m] )
12
+ .filter( elm => elm[0] !== elm[1] );
15
13
  }).flat();
16
14
  ```
17
15
 
18
- 2重ループで回し、値が違うものだけをリストに追加します。上記では `forEach` 等を使って多少記述を楽にしていますが、 `for` 文だけで済ませる場合でも同じように考えることができます。
16
+ 2重ループで回し、値が違うものだけをリストに追加します。上記では `map` 関数等を使って多少記述を楽にしていますが、 `for` 文で済ませる場合でも同じように考えることができます。
19
17
 
20
18
  ```JavaScript
21
19
  let movieList = [0, 1, 2, 3, 4, 5, 6];
@@ -77,11 +75,9 @@
77
75
 
78
76
  // 組み合わせの用意
79
77
  let movieComb = movieList.map( n => {
80
- let res = [];
81
- movieList.forEach( m => {
82
- if (n !== m) res.push([n, m]);
83
- });
84
- return res;
78
+ return movieList
79
+ .map( m => [n, m] )
80
+ .filter( elm => elm[0] !== elm[1] );
85
81
  }).flat();
86
82
 
87
83
  console.log(movieComb); // 42個生成されてることをデバッガーから確認できます。