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

回答編集履歴

3

リファクタリング

2017/01/22 11:54

投稿

yamato_hikawa
yamato_hikawa

スコア2092

answer CHANGED
@@ -23,11 +23,10 @@
23
23
  var array1 = ['A', 'B'],
24
24
  array2 = ['1', '2'],
25
25
  comb = makeComb(array1, array2), // [["A","1"],["A","2"],["B","1"],["B","2"]]
26
- $ul = $('#list'),
26
+ $ul = $('#list');
27
- $list = [];
28
27
 
29
28
  // li要素の作成
30
- comb.forEach(function(arr){
29
+ var $list = comb.map(function(arr){
31
30
  var v1 = arr[0],
32
31
  v2 = arr[1],
33
32
  $li = $('<li />').attr({
@@ -36,10 +35,9 @@
36
35
  }),
37
36
  text = [v1, v2].join(' × ');
38
37
 
39
- $li.text(text);
38
+ return $li.text(text);
40
- $list.push($li);
41
39
  });
42
-
40
+
43
41
  $ul.append($list);
44
42
  };
45
43
 

2

html追加

2017/01/22 11:54

投稿

yamato_hikawa
yamato_hikawa

スコア2092

answer CHANGED
@@ -1,5 +1,12 @@
1
1
  2つの配列から組み合わせを作成するのと、組み合わせを元にli要素を生成するのは処理を分割できるので。
2
2
 
3
+ ```
4
+ <button id="createList">createList</button>
5
+
6
+ <ul id="list">
7
+ </ul>
8
+ ```
9
+
3
10
  ```javascript
4
11
  // 2つの配列から組み合わせを作成
5
12
  function makeComb(arr1, arr2) {

1

修正

2017/01/22 11:48

投稿

yamato_hikawa
yamato_hikawa

スコア2092

answer CHANGED
@@ -1,4 +1,4 @@
1
- 配列から組み合わせを作成するのと、組み合わせをli要素を生成するのは処理を分割できるので。
1
+ 2つの配列から組み合わせを作成するのと、組み合わせを元にli要素を生成するのは処理を分割できるので。
2
2
 
3
3
  ```javascript
4
4
  // 2つの配列から組み合わせを作成