回答編集履歴
37
テキスト修正
test
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
```
|
22
22
|
|
23
|
-
上記の
|
23
|
+
上記の`makeData`では、引数としてフィルターするための `devName` を追加しました。これを追加した理由は、ご質問にあるコードでは filter の条件として `x.devName === "test"` となっていますが、これだとご質問にあるJSONでは1件も該当しなくなってしまうためです。
|
24
24
|
|
25
25
|
|
26
26
|
|
36
テキスト修正
test
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、そちらを参考にして頂くとして、この回答ではご質問に挙げられている 関数 `makeData` をより少ないコードで書いたリファクタ案と、その
|
5
|
+
ご質問のコードの何が原因で "**Uncaught TypeError: data.sort is not a function**" のエラーになっているのかについては、他の回答者様がすでに回答されておりますので、そちらを参考にして頂くとして、この回答ではご質問に挙げられている 関数 `makeData` をより少ないコードで書いたリファクタ案と、その動作確認用のサンプルを挙げます。
|
6
6
|
|
7
|
+
|
7
8
|
|
8
|
-
|
9
|
+
- **リファクタ案:**
|
9
|
-
|
10
10
|
|
11
11
|
```javascript
|
12
12
|
|
@@ -20,7 +20,9 @@
|
|
20
20
|
|
21
21
|
```
|
22
22
|
|
23
|
-
上記のコードでは、フィルターするための `devName` を引数に追加しました。
|
23
|
+
上記のコードでは、フィルターするための `devName` を引数に追加しました。これを追加した理由は、ご質問にあるコードでは filter の条件として `x.devName === "test"` となっていますが、これだとサンプルのJSONでは 1件も該当しなくなってしまうためです。
|
24
|
+
|
25
|
+
|
24
26
|
|
25
27
|
以下は上記の `makeData(data, devName)`を使ったサンプルです。
|
26
28
|
|
@@ -44,58 +46,6 @@
|
|
44
46
|
|
45
47
|
|
46
48
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
### 補足
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
ご質問にある `makeData` のコードでも目的は果たせると思いますが、以下の部分
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
**修正前:**
|
64
|
-
|
65
|
-
```javascript
|
66
|
-
|
67
|
-
for (var i = 0, len = data.length; i < len; i++) {
|
68
|
-
|
69
|
-
var filterdata = data.filter(function (x) {
|
70
|
-
|
71
|
-
return x.devName === "test";
|
72
|
-
|
73
|
-
});
|
74
|
-
|
75
|
-
}
|
76
|
-
|
77
|
-
```
|
78
|
-
|
79
|
-
では、 `data` に対する `filter` を `data.length` 回やる必要はなく1回やればよいので、`for`ブロックで囲まないで、
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
**修正後:**
|
84
|
-
|
85
|
-
```javascript
|
86
|
-
|
87
|
-
var filterdata = data.filter(function (x) {
|
88
|
-
|
89
|
-
return x.devName === "test";
|
90
|
-
|
91
|
-
});
|
92
|
-
|
93
|
-
```
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
でよいかと思います。
|
98
|
-
|
99
49
|
|
100
50
|
|
101
51
|
以上、参考になれば幸いです。
|
35
テキスト修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、そちらを参考にして頂くとして、この回答ではご質問に挙げられている
|
5
|
+
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、そちらを参考にして頂くとして、この回答ではご質問に挙げられている 関数 `makeData` をより少ないコードで書いたリファクタ案と、その使用例を挙げます。
|
6
6
|
|
7
7
|
|
8
8
|
|
34
テキスト修正
test
CHANGED
@@ -14,27 +14,19 @@
|
|
14
14
|
|
15
15
|
data.filter(e => e.devName === devName)
|
16
16
|
|
17
|
-
.map(e => ({ date:
|
17
|
+
.map(e => ({ date: new Date(e.time), value: e.temp }))
|
18
18
|
|
19
19
|
.sort((e1,e2) => e1.date - e2.date);
|
20
20
|
|
21
21
|
```
|
22
22
|
|
23
|
-
上記のコードでは、
|
24
|
-
|
25
|
-
|
23
|
+
上記のコードでは、フィルターするための `devName` を引数に追加しました。
|
26
|
-
|
27
|
-
- 日時を表すオブジェクトとして、`Date`ではなく [moment](https://momentjs.com/) を使っています。
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
24
|
|
33
25
|
以下は上記の `makeData(data, devName)`を使ったサンプルです。
|
34
26
|
|
35
27
|
|
36
28
|
|
37
|
-
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/
|
29
|
+
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/54dbrjfL/2/](https://jsfiddle.net/jun68ykt/54dbrjfL/2/)
|
38
30
|
|
39
31
|
|
40
32
|
|
@@ -53,32 +45,6 @@
|
|
53
45
|
|
54
46
|
|
55
47
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
`date` プロパティの値として、 標準の `Date` ではなく [moment](https://momentjs.com/) を使っておくと、上記のサンプルで
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
```javascript
|
74
|
-
|
75
|
-
const dateStr = e.date.format('YYYY/MM/DD HH:mm:ss');
|
76
|
-
|
77
|
-
```
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
としているように、表示用の文字列を作るために使う [format()](https://momentjs.com/docs/#/displaying/format/)が便利です。日時を様々な形式の文字列で表示させたい場合も、`'YYYY/MM/DD HH:mm:ss'`の部分を変えるだけで対応できます。
|
82
48
|
|
83
49
|
|
84
50
|
|
33
テキスト修正
test
CHANGED
@@ -66,35 +66,7 @@
|
|
66
66
|
|
67
67
|
|
68
68
|
|
69
|
-
`date` プロパティの値として、 標準の `Date` ではなく [moment](https://momentjs.com/) を使
|
69
|
+
`date` プロパティの値として、 標準の `Date` ではなく [moment](https://momentjs.com/) を使っておくと、上記のサンプルで
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
(1) ソートするときに `sort()`に与える比較関数を
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
```javascript
|
80
|
-
|
81
|
-
(e1,e2) => e1.date - e2.date
|
82
|
-
|
83
|
-
```
|
84
|
-
|
85
|
-
と手短かに書けます。これは以下に説明されています。
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
- [momentjs.com/docs: Difference](https://momentjs.com/docs/#/displaying/difference/)
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
> An easy way to think of this is by replacing `.diff(` with a **minus operator**.
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
(2) 上記のサンプルで
|
98
70
|
|
99
71
|
|
100
72
|
|
@@ -110,7 +82,7 @@
|
|
110
82
|
|
111
83
|
|
112
84
|
|
113
|
-
|
85
|
+
|
114
86
|
|
115
87
|
|
116
88
|
|
@@ -157,3 +129,7 @@
|
|
157
129
|
|
158
130
|
|
159
131
|
でよいかと思います。
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
以上、参考になれば幸いです。
|
32
テキスト修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、そ
|
5
|
+
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、そちらを参考にして頂くとして、この回答ではご質問に挙げられている **関数** `makeData` **は、こんなふうに(より少ないコードで)書けそうです**、というリファクタ案を以下に挙げます。
|
6
6
|
|
7
7
|
|
8
8
|
|
31
テキスト修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、そこはクリアできたとして、この回答ではご質問に挙げられているコードの
|
5
|
+
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、そこはクリアできたとして、この回答ではご質問に挙げられているコードのロジックに沿ったうえで、**関数** `makeData` **は、こんなふうに(より少ないコードで)書けそうです**、というリファクタ案を以下に挙げます。
|
6
6
|
|
7
7
|
|
8
8
|
|
30
テキスト修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、この回答ではご質問に挙げられているコードの意図に沿って、「**関数** `makeData` **は、こんなふうに書けそうです。**」 というリファクタ案を以下に挙げます。
|
5
|
+
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、そこはクリアできたとして、この回答ではご質問に挙げられているコードの意図に沿って、「**関数** `makeData` **は、こんなふうに書けそうです。**」 というリファクタ案を以下に挙げます。
|
6
6
|
|
7
7
|
|
8
8
|
|
29
テキスト修正
test
CHANGED
@@ -138,7 +138,7 @@
|
|
138
138
|
|
139
139
|
```
|
140
140
|
|
141
|
-
は
|
141
|
+
では、 `data` に対する `filter` を `data.length` 回やる必要はなく1回やればよいので、`for`ブロックで囲まないで、
|
142
142
|
|
143
143
|
|
144
144
|
|
28
テキスト修正
test
CHANGED
@@ -111,3 +111,49 @@
|
|
111
111
|
|
112
112
|
|
113
113
|
以上、参考になれば幸いです。
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
### 補足
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
ご質問にある `makeData` のコードでも目的は果たせると思いますが、以下の部分
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
**修正前:**
|
126
|
+
|
127
|
+
```javascript
|
128
|
+
|
129
|
+
for (var i = 0, len = data.length; i < len; i++) {
|
130
|
+
|
131
|
+
var filterdata = data.filter(function (x) {
|
132
|
+
|
133
|
+
return x.devName === "test";
|
134
|
+
|
135
|
+
});
|
136
|
+
|
137
|
+
}
|
138
|
+
|
139
|
+
```
|
140
|
+
|
141
|
+
は forループにする必要がなく、 filter を1回やればよいので、
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
**修正後:**
|
146
|
+
|
147
|
+
```javascript
|
148
|
+
|
149
|
+
var filterdata = data.filter(function (x) {
|
150
|
+
|
151
|
+
return x.devName === "test";
|
152
|
+
|
153
|
+
});
|
154
|
+
|
155
|
+
```
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
でよいかと思います。
|
27
テキスト修正
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/10
|
37
|
+
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/106/](https://jsfiddle.net/jun68ykt/y8e1970d/106/)
|
38
38
|
|
39
39
|
|
40
40
|
|
26
テキスト修正
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/
|
37
|
+
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/100/](https://jsfiddle.net/jun68ykt/y8e1970d/100/)
|
38
38
|
|
39
39
|
|
40
40
|
|
25
テキスト修正
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/9
|
37
|
+
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/99/](https://jsfiddle.net/jun68ykt/y8e1970d/99/)
|
38
38
|
|
39
39
|
|
40
40
|
|
24
テキスト修正
test
CHANGED
@@ -42,17 +42,13 @@
|
|
42
42
|
|
43
43
|
|
44
44
|
|
45
|
-
|
45
|
+
1. 日時でソートされることを確認するために、ご質問に挙げられているJSONの配列要素をランダムに順序を入れ替えて、[mockable.ioに上げたもの](https://demo7981651.mockable.io/q171746.json)を`$.getJSON` で取得します。
|
46
46
|
|
47
|
+
2. 関数`makeData` が返す配列要素の内容を、`<ul>` によるリストの `<li>` として表示します。
|
47
48
|
|
49
|
+
3. 表示結果から、 `devName` が `"test1"` である要素の内容が、 `date` の昇順に一覧されていることを確認できると思います。
|
48
50
|
|
49
|
-
- 関数`makeData` が返す配列要素の内容を、`<ul>` によるリストの `<li>` として表示します。
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
- 表示結果から、 `devName` が `"test1"` である要素の内容が、 `date` の昇順に一覧されていることを確認できると思います。
|
54
|
-
|
55
|
-
|
51
|
+
4. `TARGET` を他の`devName`の値(`"test2"`など)に修正して再度実行すると、それに応じた表示になります。
|
56
52
|
|
57
53
|
|
58
54
|
|
23
テキスト修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、この回答ではご質問に挙げられているコードの意図に沿って、「**関数** `makeData` **は、こんなふうに書
|
5
|
+
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、この回答ではご質問に挙げられているコードの意図に沿って、「**関数** `makeData` **は、こんなふうに書けそうです。**」 というリファクタ案を以下に挙げます。
|
6
6
|
|
7
7
|
|
8
8
|
|
22
テキスト修正
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/
|
37
|
+
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/95/](https://jsfiddle.net/jun68ykt/y8e1970d/95/)
|
38
38
|
|
39
39
|
|
40
40
|
|
21
テキスト修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、この回答ではご質問に挙げられているコードの意図に沿って、「`makeData` **は、こんなふうにも
|
5
|
+
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、この回答ではご質問に挙げられているコードの意図に沿って、「**関数** `makeData` **は、こんなふうに書くとよいかもです。**」 というリファクタ案を以下に挙げます。
|
6
6
|
|
7
7
|
|
8
8
|
|
20
テキスト修正
test
CHANGED
@@ -70,7 +70,7 @@
|
|
70
70
|
|
71
71
|
|
72
72
|
|
73
|
-
`date` プロパティ
|
73
|
+
`date` プロパティの値として、 標準の `Date` ではなく [moment](https://momentjs.com/) を使う利点は、以下の2点です。
|
74
74
|
|
75
75
|
|
76
76
|
|
19
テキスト修正
test
CHANGED
@@ -54,15 +54,21 @@
|
|
54
54
|
|
55
55
|
- `TARGET` を他の`devName`の値(`"test2"`など)に修正して再度実行すると、それに応じた表示になります。
|
56
56
|
|
57
|
+
|
57
58
|
|
58
|
-
|
59
|
-
|
59
|
+
|
60
60
|
|
61
61
|
|
62
62
|
|
63
|
-
### 追記
|
64
63
|
|
65
64
|
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
66
72
|
|
67
73
|
`date` プロパティに 標準の `Date` ではなく、 [moment](https://momentjs.com/) を使う利点は、以下の2点です。
|
68
74
|
|
@@ -80,7 +86,7 @@
|
|
80
86
|
|
81
87
|
```
|
82
88
|
|
83
|
-
と手短かに書け
|
89
|
+
と手短かに書けます。これは以下に説明されています。
|
84
90
|
|
85
91
|
|
86
92
|
|
@@ -105,3 +111,7 @@
|
|
105
111
|
|
106
112
|
|
107
113
|
としているように、表示用の文字列を作るために使う [format()](https://momentjs.com/docs/#/displaying/format/)が便利です。日時を様々な形式の文字列で表示させたい場合も、`'YYYY/MM/DD HH:mm:ss'`の部分を変えるだけで対応できます。
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
以上、参考になれば幸いです。
|
18
テキスト修正
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/8
|
37
|
+
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/84/](https://jsfiddle.net/jun68ykt/y8e1970d/84/)
|
38
38
|
|
39
39
|
|
40
40
|
|
@@ -50,9 +50,9 @@
|
|
50
50
|
|
51
51
|
|
52
52
|
|
53
|
-
- 表示結果から、 `devName` が `"test
|
53
|
+
- 表示結果から、 `devName` が `"test1"` である要素の内容が、 `date` の昇順に一覧されていることを確認できると思います。
|
54
54
|
|
55
|
-
- `TARGET` を他の
|
55
|
+
- `TARGET` を他の`devName`の値(`"test2"`など)に修正して再度実行すると、それに応じた表示になります。
|
56
56
|
|
57
57
|
|
58
58
|
|
17
テキスト修正
test
CHANGED
@@ -52,7 +52,7 @@
|
|
52
52
|
|
53
53
|
- 表示結果から、 `devName` が `"test3"` である要素の内容が、 `date` の昇順に一覧されていることを確認できると思います。
|
54
54
|
|
55
|
-
|
55
|
+
- `TARGET` を他の文字列(`"test1"` など)に修正して再度実行すると、それに応じた表示になります。
|
56
56
|
|
57
57
|
|
58
58
|
|
16
テキスト修正
test
CHANGED
@@ -42,7 +42,7 @@
|
|
42
42
|
|
43
43
|
|
44
44
|
|
45
|
-
- ご質問に挙げられているJSONの配列要素をランダムに入れ替えて、[mockable.ioに上げたもの](https://demo7981651.mockable.io/q171746.json)を使っています。
|
45
|
+
- 日時でソートされることを確認するために、ご質問に挙げられているJSONの配列要素をランダムに順序を入れ替えて、[mockable.ioに上げたもの](https://demo7981651.mockable.io/q171746.json)を使っています。
|
46
46
|
|
47
47
|
|
48
48
|
|
15
テキスト修正
test
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
|
52
52
|
|
53
|
-
- 表示結果から、 `devName` が `"test3"`
|
53
|
+
- 表示結果から、 `devName` が `"test3"` である要素の内容が、 `date` の昇順に一覧されていることを確認できると思います。
|
54
54
|
|
55
55
|
|
56
56
|
|
14
テキスト修正
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/8
|
37
|
+
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/83/](https://jsfiddle.net/jun68ykt/y8e1970d/83/)
|
38
38
|
|
39
39
|
|
40
40
|
|
13
テキスト修正
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/8
|
37
|
+
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/82/](https://jsfiddle.net/jun68ykt/y8e1970d/82/)
|
38
38
|
|
39
39
|
|
40
40
|
|
12
テキスト修正
test
CHANGED
@@ -104,4 +104,4 @@
|
|
104
104
|
|
105
105
|
|
106
106
|
|
107
|
-
としているように、表示用の[format()](https://momentjs.com/docs/#/displaying/format/)が便利です。日時を様々な形式の文字列で表示させたい場合も、`'YYYY/MM/DD HH:mm:ss'`の部分を変えるだけで対応できます。
|
107
|
+
としているように、表示用の文字列を作るために使う [format()](https://momentjs.com/docs/#/displaying/format/)が便利です。日時を様々な形式の文字列で表示させたい場合も、`'YYYY/MM/DD HH:mm:ss'`の部分を変えるだけで対応できます。
|
11
テキスト修正
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/
|
37
|
+
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/80/](https://jsfiddle.net/jun68ykt/y8e1970d/80/)
|
38
38
|
|
39
39
|
|
40
40
|
|
@@ -46,7 +46,7 @@
|
|
46
46
|
|
47
47
|
|
48
48
|
|
49
|
-
- 関数`makeData` が返す配列
|
49
|
+
- 関数`makeData` が返す配列要素の内容を、`<ul>` によるリストの `<li>` として表示します。
|
50
50
|
|
51
51
|
|
52
52
|
|
@@ -64,7 +64,13 @@
|
|
64
64
|
|
65
65
|
|
66
66
|
|
67
|
-
`date` プロパティに 標準の `Date` ではなく、 [moment](https://momentjs.com/) を使う利点は、
|
67
|
+
`date` プロパティに 標準の `Date` ではなく、 [moment](https://momentjs.com/) を使う利点は、以下の2点です。
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
(1) ソートするときに `sort()`に与える比較関数を
|
68
74
|
|
69
75
|
|
70
76
|
|
@@ -83,3 +89,19 @@
|
|
83
89
|
|
84
90
|
|
85
91
|
> An easy way to think of this is by replacing `.diff(` with a **minus operator**.
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
(2) 上記のサンプルで
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
```javascript
|
100
|
+
|
101
|
+
const dateStr = e.date.format('YYYY/MM/DD HH:mm:ss');
|
102
|
+
|
103
|
+
```
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
としているように、表示用の[format()](https://momentjs.com/docs/#/displaying/format/)が便利です。日時を様々な形式の文字列で表示させたい場合も、`'YYYY/MM/DD HH:mm:ss'`の部分を変えるだけで対応できます。
|
10
テキスト修正
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/6
|
37
|
+
- **動作確認用のサンプル:** [https://jsfiddle.net/jun68ykt/y8e1970d/64/](https://jsfiddle.net/jun68ykt/y8e1970d/64/)
|
38
38
|
|
39
39
|
|
40
40
|
|
9
テキスト修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、この回答ではご質問に挙げられているコードの意図に沿って、「`makeData` **は、こんなふうにも書け
|
5
|
+
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、この回答ではご質問に挙げられているコードの意図に沿って、「`makeData` **は、こんなふうにも書けそうです。**」 というリファクタ案を以下に挙げます。
|
6
6
|
|
7
7
|
|
8
8
|
|
8
テキスト修正
test
CHANGED
@@ -78,7 +78,7 @@
|
|
78
78
|
|
79
79
|
|
80
80
|
|
81
|
-
- [
|
81
|
+
- [momentjs.com/docs: Difference](https://momentjs.com/docs/#/displaying/difference/)
|
82
82
|
|
83
83
|
|
84
84
|
|
7
テキスト修正
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
- フィルターするための `devName` を引数に追加しました。
|
26
26
|
|
27
|
-
- 日時を表すオブジェクトとして、`Date`ではなく [moment
|
27
|
+
- 日時を表すオブジェクトとして、`Date`ではなく [moment](https://momentjs.com/) を使っています。
|
28
28
|
|
29
29
|
|
30
30
|
|
6
テキスト修正
test
CHANGED
@@ -57,3 +57,29 @@
|
|
57
57
|
|
58
58
|
|
59
59
|
以上、参考になれば幸いです。
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
### 追記
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
`date` プロパティに 標準の `Date` ではなく、 [moment](https://momentjs.com/) を使う利点は、ソートするときに `sort()`に与える比較関数を
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
```javascript
|
72
|
+
|
73
|
+
(e1,e2) => e1.date - e2.date
|
74
|
+
|
75
|
+
```
|
76
|
+
|
77
|
+
と手短かに書けることです。これは以下に説明されています。
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
- [/momentjs.com/docs : Difference](https://momentjs.com/docs/#/displaying/difference/)
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
> An easy way to think of this is by replacing `.diff(` with a **minus operator**.
|
5
テキスト修正
test
CHANGED
@@ -46,7 +46,7 @@
|
|
46
46
|
|
47
47
|
|
48
48
|
|
49
|
-
- 関数`makeData` が返す配列の要素を`<ul>` によるリストとして表示します。
|
49
|
+
- 関数`makeData` が返す配列の要素をJSON文字列にし、`<ul>` によるリストの `<li>` として表示します。
|
50
50
|
|
51
51
|
|
52
52
|
|
4
テキスト修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、
|
5
|
+
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、この回答ではご質問に挙げられているコードの意図に沿って、「`makeData` **は、こんなふうにも書けます**」 というリファクタ案を以下に挙げます。
|
6
6
|
|
7
7
|
|
8
8
|
|
3
テキスト修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
ご質問のコード
|
5
|
+
ご質問のコードの何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、そちらをお読み頂くとして、この回答ではご質問に挙げられているコードの意図に沿って、「`makeData` **は、こんなふうにも書けます**」 というリファクタ案を以下に挙げます。
|
6
6
|
|
7
7
|
|
8
8
|
|
2
テキスト修正
test
CHANGED
@@ -2,9 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
ご質問のコードで何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、そちらをお読み頂くとして、この回答ではご質問に挙げられている
|
5
|
+
ご質問のコードで何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、そちらをお読み頂くとして、この回答ではご質問に挙げられているコードの意図に沿って、「`makeData` **は、こんなふうにも書けます**」 というコードを以下に挙げます。
|
6
|
-
|
7
|
-
`makeData` **は、こんなふうにも書けます**、というコードを以下に挙げます。
|
8
6
|
|
9
7
|
|
10
8
|
|
1
テキスト修正
test
CHANGED
@@ -2,7 +2,9 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
ご質問のコードで何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、そちらをお読み頂くとして、この回答では
|
5
|
+
ご質問のコードで何が原因でエラーになっているのかについては、他の回答者様がすでに回答されておりますので、そちらをお読み頂くとして、この回答ではご質問に挙げられている `makeData` のコードの意図に沿って、
|
6
|
+
|
7
|
+
`makeData` **は、こんなふうにも書けます**、というコードを以下に挙げます。
|
6
8
|
|
7
9
|
|
8
10
|
|