回答編集履歴

3

コメントを受けてIDをユニークに

2017/09/29 07:55

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア35865

test CHANGED
@@ -31,3 +31,49 @@
31
31
  );
32
32
 
33
33
  ```
34
+
35
+
36
+
37
+ ### コメントを受けてIDをユニークに
38
+
39
+ ```javascript
40
+
41
+ (
42
+
43
+ ( {itemDict, productsIds} ) =>
44
+
45
+ [...new Set(
46
+
47
+ [].concat(
48
+
49
+ ...productsIds.map( e => itemDict[e] )
50
+
51
+ ).map( e => JSON.stringify(e) )
52
+
53
+ )].map( e => JSON.parse(e) )
54
+
55
+ )({
56
+
57
+ itemDict:
58
+
59
+ Object.assign( ...itemList.map( ({id,items}) => ({[id]:items}) ) )
60
+
61
+ ,
62
+
63
+ productsIds:
64
+
65
+ [...new Set(
66
+
67
+ [].concat(
68
+
69
+ ...orderList.map( ({products}) => products )
70
+
71
+ )
72
+
73
+ )]
74
+
75
+ ,
76
+
77
+ });
78
+
79
+ ```

2

こっちのほうがスマートかな……

2017/09/29 07:55

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア35865

test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  )(
18
18
 
19
- itemList.reduce( (d, {id,items}) => ( d[id]=items,d ), {} ),
19
+ Object.assign( ...itemList.map( ({id,items}) => ({[id]:items}) ) ),
20
20
 
21
21
  [...new Set(
22
22
 

1

こっちのほうが読みやすい、かな?

2017/09/28 10:17

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア35865

test CHANGED
@@ -6,19 +6,11 @@
6
6
 
7
7
  (
8
8
 
9
- ( itemDict, orderList ) =>
9
+ ( itemDict, productsIds ) =>
10
10
 
11
11
  [].concat(
12
12
 
13
- ...[...new Set(
14
-
15
- [].concat(
16
-
17
- ...orderList.map( ({products}) => products )
18
-
19
- )
20
-
21
- )].map( e => itemDict[e] )
13
+ ...productsIds.map( e => itemDict[e] )
22
14
 
23
15
  )
24
16
 
@@ -26,7 +18,15 @@
26
18
 
27
19
  itemList.reduce( (d, {id,items}) => ( d[id]=items,d ), {} ),
28
20
 
21
+ [...new Set(
22
+
29
- orderList
23
+ [].concat(
24
+
25
+ ...orderList.map( ({products}) => products )
26
+
27
+ )
28
+
29
+ )]
30
30
 
31
31
  );
32
32