回答編集履歴
5
テキスト修正
answer
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
### 2. lodash を使ったコード
|
22
22
|
|
23
23
|
配列やオブジェクトの操作で便利なライブラリlodash の、以下のメソッドを使います。
|
24
|
-
- 配列の要素を何らかの
|
24
|
+
- 配列の要素を何らかの基準によってグルーピングした結果のオブジェクトを返す: [_.groupBy](https://lodash.com/docs/#groupBy)
|
25
25
|
- 与えられたオブジェクトの各プロパティに何らかの処理をしたオブジェクトを返す: [_.mapValues](https://lodash.com/docs/#mapValues)
|
26
26
|
|
27
27
|
上記によって得られたオブジェクトを、[Object.entries()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/entries)によって配列にし、先の1.のコードと同様に、map によって配列要素を望ましい形に整形します。
|
4
テキスト修正
answer
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
配列やオブジェクトの操作で便利なライブラリlodash の、以下のメソッドを使います。
|
24
24
|
- 配列の要素を何らかのルールでグルーピングした結果のオブジェクトを返す: [_.groupBy](https://lodash.com/docs/#groupBy)
|
25
|
-
- 与えられたオブジェクトの各プロパティに何らかの処理をした
|
25
|
+
- 与えられたオブジェクトの各プロパティに何らかの処理をしたオブジェクトを返す: [_.mapValues](https://lodash.com/docs/#mapValues)
|
26
26
|
|
27
27
|
上記によって得られたオブジェクトを、[Object.entries()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/entries)によって配列にし、先の1.のコードと同様に、map によって配列要素を望ましい形に整形します。
|
28
28
|
|
3
テキスト修正
answer
CHANGED
@@ -21,8 +21,8 @@
|
|
21
21
|
### 2. lodash を使ったコード
|
22
22
|
|
23
23
|
配列やオブジェクトの操作で便利なライブラリlodash の、以下のメソッドを使います。
|
24
|
-
-
|
24
|
+
- 配列の要素を何らかのルールでグルーピングした結果のオブジェクトを返す: [_.groupBy](https://lodash.com/docs/#groupBy)
|
25
|
-
- 与えられたオブジェクトの各プロパティ
|
25
|
+
- 与えられたオブジェクトの各プロパティに何らかの処理をした新しいオブジェクトを返す: [_.mapValues](https://lodash.com/docs/#mapValues)
|
26
26
|
|
27
27
|
上記によって得られたオブジェクトを、[Object.entries()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/entries)によって配列にし、先の1.のコードと同様に、map によって配列要素を望ましい形に整形します。
|
28
28
|
|
2
テキスト修正
answer
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
### 2. lodash を使ったコード
|
22
22
|
|
23
23
|
配列やオブジェクトの操作で便利なライブラリlodash の、以下のメソッドを使います。
|
24
|
-
- オブジェクトの内容をグルーピングした結果を返す: [_.groupBy](https://lodash.com/docs/#groupBy)
|
24
|
+
- オブジェクトの内容をグルーピングした結果のオブジェクトを返す: [_.groupBy](https://lodash.com/docs/#groupBy)
|
25
25
|
- 与えられたオブジェクトの各プロパティの値に何らかの処理をした新しいオブジェクトを返す: [_.mapValues](https://lodash.com/docs/#mapValues)
|
26
26
|
|
27
27
|
上記によって得られたオブジェクトを、[Object.entries()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/entries)によって配列にし、先の1.のコードと同様に、map によって配列要素を望ましい形に整形します。
|
@@ -33,7 +33,6 @@
|
|
33
33
|
|
34
34
|
var result = Object.entries(totals).map(([category, subtotal]) => ({category, subtotal}))
|
35
35
|
|
36
|
-
console.log(result)
|
37
36
|
```
|
38
37
|
- **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/OJVPMEZ](https://codepen.io/jun68ykt/pen/OJVPMEZ?editors=0012)
|
39
38
|
|
1
テキスト修正
answer
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
- オブジェクトの内容をグルーピングした結果を返す: [_.groupBy](https://lodash.com/docs/#groupBy)
|
25
25
|
- 与えられたオブジェクトの各プロパティの値に何らかの処理をした新しいオブジェクトを返す: [_.mapValues](https://lodash.com/docs/#mapValues)
|
26
26
|
|
27
|
-
上記によって得られたオブジェクトを配列にし
|
27
|
+
上記によって得られたオブジェクトを、[Object.entries()](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/entries)によって配列にし、先の1.のコードと同様に、map によって配列要素を望ましい形に整形します。
|
28
28
|
|
29
29
|
```javascript
|
30
30
|
var totalize = items => items.reduce((sum, item) => sum + item.price, 0)
|
@@ -40,7 +40,7 @@
|
|
40
40
|
|
41
41
|
### 補足
|
42
42
|
|
43
|
-
上記のコード1.および 2. ともに、結果として得られる配列の要素の順番は、"A"、 "B"、 "C" と、
|
43
|
+
上記のコード1.および 2. ともに、結果として得られる配列の要素の順番は、"A"、 "B"、 "C" と、カテゴリーのアルファベット順になっているかと思いますが、元のデータの配列 `items` に含まれる要素の順番がどのようなものであっても、`result` としては、カテゴリーの文字列の昇順にソートされた結果を得たいのであれば、さらに [sort](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) を使って明示的にソートする必要があります。
|
44
44
|
|
45
45
|
|
46
46
|
以上、参考になれば幸いです。
|