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

回答編集履歴

6

テキスト追加

2020/06/04 15:24

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -17,7 +17,7 @@
17
17
  ```
18
18
  - 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012](https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012)
19
19
 
20
- あるいは、ご質問にある例のように、`b` **の中に、**`a` **の要素の** `id`** はすべて出現するという前提があれば**、`a` を map して作るということも考えられます。この前提は、もしかするとちょっと要件から外れるかもしれませんので、参考までに。
20
+ あるいは、ご質問にある例のように、`b` **のいずれかの要素の中に、**`a` **の要素の** `id`** はすべて出現するという前提があれば**、`a` を map して作るということも考えられます。ただしこの前提は、(ご質問には明示的に書かれてはいませんが、)もしかするとちょっと要件から外れるかもしれませんので、参考までに。
21
21
 
22
22
  ```javascript
23
23
  const result = a.map(e1 => b.find(e2 => e2.id === e1.id));

5

テキスト追加

2020/06/04 15:24

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -17,7 +17,7 @@
17
17
  ```
18
18
  - 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012](https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012)
19
19
 
20
- あるいは、もし、`b` **の中に、**`a` **の要素の** `id`**すべて出現するという前提があれば**、`a` を map して作るということも考えられます。(こは、ちょっと要件から外れるかもしれませんので、参考までに)
20
+ あるいは、ご質問にある例のように、`b` **の中に、**`a` **の要素の** `id`**すべて出現するという前提があれば**、`a` を map して作るということも考えられます。(この前提は、もしかするとちょっと要件から外れるかもしれませんので、参考までに
21
21
 
22
22
  ```javascript
23
23
  const result = a.map(e1 => b.find(e2 => e2.id === e1.id));

4

テキスト追加

2020/06/04 15:20

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -17,7 +17,7 @@
17
17
  ```
18
18
  - 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012](https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012)
19
19
 
20
- あるいは、`a` を map して作るということも考えられます。
20
+ あるいは、もし、`b` **の中に、**`a` **の要素の** `id`**がすべて出現するという前提があれば**、`a` を map して作るということも考えられます。(これは、ちょっと要件から外れるかもしれませんので、参考までに)
21
21
 
22
22
  ```javascript
23
23
  const result = a.map(e1 => b.find(e2 => e2.id === e1.id));

3

テキスト追加

2020/06/04 15:16

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -7,7 +7,7 @@
7
7
  ```
8
8
  - 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/qBbEajG?editors=0012](https://codepen.io/jun68ykt/pen/qBbEajG?editors=0012)
9
9
 
10
- または、 result に含める `id` のSet を作っておいて、これをfilter に与える関数で手もあります。
10
+ または、 result に含める `id` のSet を作っておいて、これをfilter に与える関数で使う手もあります。
11
11
 
12
12
  ```javascript
13
13
  const ids = new Set(a.map(e => e.id));

2

テキスト修正

2020/06/04 15:13

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -15,4 +15,13 @@
15
15
 
16
16
  console.log(result); // => [{id: '2', name: 'b'},{id: '4', name: 'd'}]
17
17
  ```
18
- - 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012](https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012)
18
+ - 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012](https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012)
19
+
20
+ あるいは、`a` を map して作るということも考えられます。
21
+
22
+ ```javascript
23
+ const result = a.map(e1 => b.find(e2 => e2.id === e1.id));
24
+
25
+ console.log(result); // => [{id: '2', name: 'b'},{id: '4', name: 'd'}]
26
+ ```
27
+ - 動作確認用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

answer CHANGED
@@ -5,4 +5,14 @@
5
5
 
6
6
  console.log(result); // => [{id: '2', name: 'b'},{id: '4', name: 'd'}]
7
7
  ```
8
- - 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/qBbEajG?editors=0011](https://codepen.io/jun68ykt/pen/qBbEajG?editors=0011)
8
+ - 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/qBbEajG?editors=0012](https://codepen.io/jun68ykt/pen/qBbEajG?editors=0012)
9
+
10
+ または、 result に含める `id` のSet を作っておいて、これをfilter に与える関数で手もあります。
11
+
12
+ ```javascript
13
+ const ids = new Set(a.map(e => e.id));
14
+ const result = b.filter(e => ids.has(e.id));
15
+
16
+ console.log(result); // => [{id: '2', name: 'b'},{id: '4', name: 'd'}]
17
+ ```
18
+ - 動作確認用CodePen: [https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012](https://codepen.io/jun68ykt/pen/jOWEMYY?editors=0012)