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

回答編集履歴

5

テキスト修正

2020/02/08 02:35

投稿

jun68ykt
jun68ykt

スコア9058

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 によって配列要素を望ましい形に整形します。

4

テキスト修正

2020/02/08 02:35

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  配列やオブジェクトの操作で便利なライブラリlodash の、以下のメソッドを使います。
24
24
  - 配列の要素を何らかのルールでグルーピングした結果のオブジェクトを返す: [_.groupBy](https://lodash.com/docs/#groupBy)
25
- - 与えられたオブジェクトの各プロパティに何らかの処理をした新しいオブジェクトを返す: [_.mapValues](https://lodash.com/docs/#mapValues)
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

テキスト修正

2020/02/08 01:34

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -21,8 +21,8 @@
21
21
  ### 2. lodash を使ったコード
22
22
 
23
23
  配列やオブジェクトの操作で便利なライブラリlodash の、以下のメソッドを使います。
24
- - オブジェクト内容をグルーピングした結果のオブジェクトを返す: [_.groupBy](https://lodash.com/docs/#groupBy)
24
+ - 配列要素何らかのルールでグルーピングした結果のオブジェクトを返す: [_.groupBy](https://lodash.com/docs/#groupBy)
25
- - 与えられたオブジェクトの各プロパティの値に何らかの処理をした新しいオブジェクトを返す: [_.mapValues](https://lodash.com/docs/#mapValues)
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

テキスト修正

2020/02/08 01:19

投稿

jun68ykt
jun68ykt

スコア9058

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

テキスト修正

2020/02/07 19:28

投稿

jun68ykt
jun68ykt

スコア9058

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
- 上記によって得られたオブジェクトを配列にし、先の1.のコードと同様に、map によって配列要素を望ましい形に整形します。
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" と、一見、カテゴリーのアルファベット順になっていますが、元のデータの配列 `items` に含まれる要素の順番がどのようなものであっても、カテゴリーの文字列の昇順に結果を得たいのであれば、さらに `result` に対して [sort](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) を使って明示的にソートする必要があります。
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
  以上、参考になれば幸いです。