回答編集履歴

3

テキスト修正

2020/06/07 03:40

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -43,3 +43,33 @@
43
43
  ```
44
44
 
45
45
  - **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/gOPpoqM?editors=0012](https://codepen.io/jun68ykt/pen/gOPpoqM?editors=0012)
46
+
47
+
48
+
49
+
50
+
51
+ ### 追記
52
+
53
+
54
+
55
+ コメントにも返信しましたが、ご質問の要件が
56
+
57
+
58
+
59
+ - 配列`data1`の要素である長さ2の配列の先頭要素の値(key)の昇順に、2番目の要素のアルファベットを取り出した配列を `data2` として得たい
60
+
61
+
62
+
63
+ ということなのでしたら、以下のように sort を使えば得られます。
64
+
65
+
66
+
67
+ ```javascript
68
+
69
+ const data2 = [...data1].sort(([k1],[k2]) => k1 - k2).map(([k,v]) => v);
70
+
71
+ ```
72
+
73
+
74
+
75
+ - **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/eYJNVBx?editors=0012](https://codepen.io/jun68ykt/pen/eYJNVBx?editors=0012)

2

テキスト修正

2020/06/07 03:40

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -15,3 +15,31 @@
15
15
  ```
16
16
 
17
17
  - **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/NWxqXej?editors=0012](https://codepen.io/jun68ykt/pen/NWxqXej?editors=0012)
18
+
19
+
20
+
21
+ ### 追記
22
+
23
+
24
+
25
+ または、 `data1` の内容を含むMapを作っておくという手もあります。
26
+
27
+
28
+
29
+ ```javascript
30
+
31
+ const data1 = [ [8,"a"], [5,"b"], [12,"c"] ];
32
+
33
+ const map1 = new Map(data1);
34
+
35
+
36
+
37
+ const keys = [ 5, 8, 12 ];
38
+
39
+
40
+
41
+ const data2 = keys.map(key => map1.get(key));
42
+
43
+ ```
44
+
45
+ - **動作確認用CodePen:** [https://codepen.io/jun68ykt/pen/gOPpoqM?editors=0012](https://codepen.io/jun68ykt/pen/gOPpoqM?editors=0012)

1

テキスト修正

2020/06/07 02:17

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- const data2 = keys.map(key => data1.find(e => e[0] === key));
13
+ const data2 = keys.map(key => data1.find(e => e[0] === key)[1]);
14
14
 
15
15
  ```
16
16