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

回答編集履歴

1

調整

2017/09/29 02:30

投稿

yambejp
yambejp

スコア117944

answer CHANGED
@@ -1,16 +1,18 @@
1
1
  仕様によっては調整が必要かもしれませんが
2
2
  とりあえずこんな感じです
3
3
 
4
+ ※items内の同じidのオブジェクトは除外するよう調整しました
4
5
  ```javascript
6
+ <script>
5
7
  var itemList = [
6
- {id: 'p1',items: [{id: 1},{id: 2},{id: 3}]},
8
+ {id: 'p1',items: [{id: 1},{id: 2},{id: 3},{id: 3}]},
7
9
  {id: 'p2',items: [{id: 1},{id:10},{id:33}]},
8
10
  {id: 'p3',items: [{id:11},{id:22},{id:33}]},
9
11
  ];
10
12
  var orderList = [
11
13
  {id:'1',products: ['p1']},
12
- {id:'2',products: ['p3','p3']},
14
+ {id:'2',products: ['p2']},
13
- {id:'3',products: ['p3']},
15
+ {id:'3',products: ['p2']},
14
16
  {id:'4',products: []},
15
17
  ];
16
18
 
@@ -28,6 +30,9 @@
28
30
  Array.prototype.push.apply(items,i.items);
29
31
  }
30
32
  });
33
+
34
+ items=items.filter(function(i,j,k){
35
+ return k.map(function(x){return x.id;}).indexOf(i.id)==j;
36
+ });
31
37
  console.log(items);
32
-
33
38
  ```