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

回答編集履歴

3

テキスト追加

2021/09/30 15:05

投稿

退会済みユーザー
answer CHANGED
@@ -67,4 +67,23 @@
67
67
  ```
68
68
  ➡ [サンプル](https://codepen.io/i8086x/pen/rNwRybE?editors=0012)
69
69
 
70
- 以上ですぅ〜
70
+ 以上ですぅ〜
71
+
72
+ #### 補足: lodash使うで
73
+
74
+ 質問に
75
+
76
+ > 外部ライブラリは使用しても構いません。
77
+
78
+ ってありよったから、ワテが何かと世話になっとる[lodash先生](https://lodash.com/)使うやつも書いとくわ。
79
+
80
+ ```javascript
81
+ const newDateList =
82
+ _(dateList)
83
+ .groupBy('createdAt')
84
+ .mapValues('length')
85
+ .toPairs()
86
+ .map(([createdAt, count]) => ({ createdAt, count }))
87
+ .value();
88
+ ```
89
+ ➡ [サンプル](https://codepen.io/i8086x/pen/vYZPJjX?editors=0012)

2

テキスト追加

2021/09/30 15:05

投稿

退会済みユーザー
answer CHANGED
@@ -51,7 +51,7 @@
51
51
 
52
52
  - 毎回、find で ary の先頭から createdAt が一致するカウンターオブジェクトを探さないで済むようにする
53
53
 
54
- っていう改良の余地があってやな、それには作業用にMapを使ってこんなんなるで。
54
+ っていう改良の余地があってやな、たとえばMapを使ってこんなんなるで。
55
55
  ```javascript
56
56
  const [newDateList] = dateList.reduce(([ary, map], { createdAt }) => {
57
57
  const matchedObj = map.get(createdAt);

1

テキスト追加

2021/09/30 13:49

投稿

退会済みユーザー
answer CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  で、reduce でやるんやったら、まずエラーになるの承知で
4
4
  ```javascript
5
- const const newDateList = dateList.reduce();
5
+ const newDateList = dateList.reduce();
6
6
  ```
7
7
  とひとまず書いてしまう。
8
8
  これはreduceに渡すべき関数を渡してないんやから