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

質問編集履歴

3

補足

2017/09/29 04:10

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -11,16 +11,18 @@
11
11
  一応、自分で得たい結果は取得するコードは既に書いたのですが、
12
12
  1. mapファンクションでまずorderListの中から各products配列を抽出
13
13
  2. mapファンクションで抽出した配列は2次元になってしまってるので、それをreduceファンクションを使って、array.concat()で1次元配列化したものを抽出
14
- 3.2で取得したプロダクトIDリストから重複するプロダクトIDを削除(フィルターファンクションを使いました)
14
+ 3. 2で取得したプロダクトIDリストから重複するプロダクトIDを削除(フィルターファンクションを使いました)
15
- 4.3で取得したプロダクトIDリストとマッチするitemList内のitem配列をmapファンクションで抽出
15
+ 4. 3で取得したプロダクトIDリストとマッチするitemList内のitem配列をmapファンクションで抽出
16
- 5....
16
+ 5. ....
17
- 6....
17
+ 6. ....
18
18
 
19
19
  と6ステップかけてようやく得たい結果を超手続き型な感じで取り出すことができました。。。
20
20
 
21
21
  なんか違う感があるのですが、皆様ならどのように書くのでしょうか?
22
22
 
23
+ ※補足: なんか違う感というのは、mapなどのメソッド使うと直ぐに多次元配列になってしまって、それをまた、他の処理の為に1次元配列に戻さないといけなかったり、更にそういうのが二回必要だったりと、もっと短く出来る方法ってないのかなと思いまして。冗長に感じるということです。
23
24
 
25
+
24
26
  # 入力
25
27
  ```ここに言語を入力
26
28
  const itemList = [

2

しゅうせい

2017/09/29 04:10

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -35,17 +35,17 @@
35
35
  {
36
36
  id: 'p2',
37
37
  items: [
38
+ { id: 1 },
38
- { id: 11 },
39
+ { id: 10 },
39
- { id: 22 },
40
40
  { id: 33 }
41
41
  ]
42
42
  },
43
43
  {
44
44
  id: 'p3',
45
45
  items: [
46
- { id: 1 },
46
+ { id: 11 },
47
- { id: 2 },
47
+ { id: 22 },
48
- { id: 3 }
48
+ { id: 33 }
49
49
  ]
50
50
  }
51
51
  ];

1

lodash

2017/09/28 05:36

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -76,4 +76,9 @@
76
76
  { id: 22 },
77
77
  { id: 33 }
78
78
  ]
79
- ```
79
+ ```
80
+
81
+
82
+ # 補足
83
+
84
+ lodash使えば一発だよ!みたいな回答でもありがたいです。