回答編集履歴

6

テキスト追加

2020/06/04 15:24

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -36,7 +36,7 @@
36
36
 
37
37
 
38
38
 
39
- あるいは、ご質問にある例のように、`b` **の中に、**`a` **の要素の** `id`** はすべて出現するという前提があれば**、`a` を map して作るということも考えられます。この前提は、もしかするとちょっと要件から外れるかもしれませんので、参考までに。
39
+ あるいは、ご質問にある例のように、`b` **のいずれかの要素の中に、**`a` **の要素の** `id`** はすべて出現するという前提があれば**、`a` を map して作るということも考えられます。ただしこの前提は、(ご質問には明示的に書かれてはいませんが、)もしかするとちょっと要件から外れるかもしれませんので、参考までに。
40
40
 
41
41
 
42
42
 

5

テキスト追加

2020/06/04 15:24

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -36,7 +36,7 @@
36
36
 
37
37
 
38
38
 
39
- あるいは、もし、`b` **の中に、**`a` **の要素の** `id`**すべて出現するという前提があれば**、`a` を map して作るということも考えられます。(こは、ちょっと要件から外れるかもしれませんので、参考までに)
39
+ あるいは、ご質問にある例のように、`b` **の中に、**`a` **の要素の** `id`**すべて出現するという前提があれば**、`a` を map して作るということも考えられます。(この前提は、もしかするとちょっと要件から外れるかもしれませんので、参考までに
40
40
 
41
41
 
42
42
 

4

テキスト追加

2020/06/04 15:20

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -36,7 +36,7 @@
36
36
 
37
37
 
38
38
 
39
- あるいは、`a` を map して作るということも考えられます。
39
+ あるいは、もし、`b` **の中に、**`a` **の要素の** `id`**がすべて出現するという前提があれば**、`a` を map して作るということも考えられます。(これは、ちょっと要件から外れるかもしれませんので、参考までに)
40
40
 
41
41
 
42
42
 

3

テキスト追加

2020/06/04 15:16

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- または、 result に含める `id` のSet を作っておいて、これをfilter に与える関数で手もあります。
19
+ または、 result に含める `id` のSet を作っておいて、これをfilter に与える関数で使う手もあります。
20
20
 
21
21
 
22
22
 

2

テキスト修正

2020/06/04 15:13

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -33,3 +33,21 @@
33
33
  ```
34
34
 
35
35
  - 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012](https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012)
36
+
37
+
38
+
39
+ あるいは、`a` を map して作るということも考えられます。
40
+
41
+
42
+
43
+ ```javascript
44
+
45
+ const result = a.map(e1 => b.find(e2 => e2.id === e1.id));
46
+
47
+
48
+
49
+ console.log(result); // => [{id: '2', name: 'b'},{id: '4', name: 'd'}]
50
+
51
+ ```
52
+
53
+ - 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/JjGoRBg?editors=0012](https://codepen.io/jun68ykt/pen/JjGoRBg?editors=0012)

1

テキスト修正

2020/06/04 15:08

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -12,4 +12,24 @@
12
12
 
13
13
  ```
14
14
 
15
- - 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/qBbEajG?editors=0011](https://codepen.io/jun68ykt/pen/qBbEajG?editors=0011)
15
+ - 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/qBbEajG?editors=0012](https://codepen.io/jun68ykt/pen/qBbEajG?editors=0012)
16
+
17
+
18
+
19
+ または、 result に含める `id` のSet を作っておいて、これをfilter に与える関数で手もあります。
20
+
21
+
22
+
23
+ ```javascript
24
+
25
+ const ids = new Set(a.map(e => e.id));
26
+
27
+ const result = b.filter(e => ids.has(e.id));
28
+
29
+
30
+
31
+ console.log(result); // => [{id: '2', name: 'b'},{id: '4', name: 'd'}]
32
+
33
+ ```
34
+
35
+ - 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012](https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012)