回答編集履歴

3

ソース修正

2021/09/09 00:39

投稿

退会済みユーザー
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
 
23
- **補足:**
23
+ **補足(Dateをイテラブルにしてまう):**
24
24
 
25
25
 
26
26
 
@@ -81,3 +81,37 @@
81
81
  ```
82
82
 
83
83
  みたいな。 ➡ [サンプル](https://codepen.io/i8086x/pen/ExXZbEE?editors=0012)
84
+
85
+
86
+
87
+ **補足(Intl.DateTimeFormat使うてみる):**
88
+
89
+
90
+
91
+ ```javascript
92
+
93
+ const date = new Date('2021-09-08T19:12:34.567');
94
+
95
+
96
+
97
+ const arr = new Intl.DateTimeFormat('ja-jp', {
98
+
99
+ year: 'numeric', month: 'numeric', day: 'numeric',
100
+
101
+ hour: 'numeric', minute: 'numeric', second: 'numeric', fractionalSecondDigits: 3
102
+
103
+ })
104
+
105
+ .formatToParts(date)
106
+
107
+ .filter(({type}) => type !== 'literal')
108
+
109
+ .map(({value}, i) => +value - (i==1));
110
+
111
+
112
+
113
+ console.log(arr); // => [2021,8,8,19,12,34,567]
114
+
115
+ ```
116
+
117
+ ➡ [サンプル](https://codepen.io/i8086x/pen/rNwjrVj?editors=0012)

2

ソース修正

2021/09/09 00:39

投稿

退会済みユーザー
test CHANGED
@@ -72,7 +72,7 @@
72
72
 
73
73
 
74
74
 
75
- for (x of d) {
75
+ for (let x of d) {
76
76
 
77
77
  console.log(x); // => 2021,8,8,19,12,34,567 が順に出力される
78
78
 

1

ソース修正

2021/09/08 11:25

投稿

退会済みユーザー
test CHANGED
@@ -15,3 +15,69 @@
15
15
  ```
16
16
 
17
17
  ➡ [サンプル](https://codepen.io/i8086x/pen/LYLxzLW?editors=0012)
18
+
19
+
20
+
21
+
22
+
23
+ **補足:**
24
+
25
+
26
+
27
+ 自分で書く案、一個挙げときます。もし頻繁にDateオブジェクトからその配列にする場合があるんやったら、いっそDateをイテラブルに拡張してしまって、スプレッド構文でバラせるようにしとけば?
28
+
29
+
30
+
31
+ ゆうて、こない
32
+
33
+ ```javascript
34
+
35
+ Date.prototype[Symbol.iterator] = function* () {
36
+
37
+ yield* [
38
+
39
+ this.getFullYear(),
40
+
41
+ this.getMonth(),
42
+
43
+ this.getDate(),
44
+
45
+ this.getHours(),
46
+
47
+ this.getMinutes(),
48
+
49
+ this.getSeconds(),
50
+
51
+ this.getMilliseconds()
52
+
53
+ ];
54
+
55
+ }
56
+
57
+ ```
58
+
59
+ な仕込みしといてからの
60
+
61
+ ```javascript
62
+
63
+ const d = new Date('2021-09-08T19:12:34.567');
64
+
65
+
66
+
67
+ const arr = [...d];
68
+
69
+
70
+
71
+ console.log(arr); // => [2021,8,8,19,12,34,567]
72
+
73
+
74
+
75
+ for (x of d) {
76
+
77
+ console.log(x); // => 2021,8,8,19,12,34,567 が順に出力される
78
+
79
+ }
80
+
81
+ ```
82
+
83
+ みたいな。 ➡ [サンプル](https://codepen.io/i8086x/pen/ExXZbEE?editors=0012)