回答編集履歴

4

テキスト修正

2018/01/14 05:52

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -8,7 +8,11 @@
8
8
 
9
9
  もうひとつ、 `{ }` が必要と思われました。
10
10
 
11
+ (※質問に挙がっているコードのままだと、文法エラーになります。)
12
+
13
+
14
+
11
- 以下は、`arr1`をそのように修正しての回答になります。(ES6 で書いています)
15
+ 以下は、`arr1`を上記にって修正しての回答になります。(ES6 で書いています)
12
16
 
13
17
 
14
18
 

3

テキスト修正

2018/01/14 05:52

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -66,7 +66,9 @@
66
66
 
67
67
 
68
68
 
69
- reduceではなくて、filter を使ったほうがシンプルに書けました。
69
+ `reduce`ではなくて、(お題がフィルターなのだから) `filter` を使ったほうが
70
+
71
+ シンプルに書けました。
70
72
 
71
73
 
72
74
 

2

テキスト修正

2018/01/14 05:43

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -57,3 +57,41 @@
57
57
 
58
58
 
59
59
  以上、参考になれば幸いです。
60
+
61
+
62
+
63
+ ---
64
+
65
+ **追記**
66
+
67
+
68
+
69
+ reduceではなくて、filter を使ったほうがシンプルに書けました。
70
+
71
+
72
+
73
+ ```javascript
74
+
75
+ const arr1 = [
76
+
77
+ { apple: { id: 0, price: 100 } },
78
+
79
+ { orange: { id: 1, price: 200 } },
80
+
81
+ { banana: {id: 2, price: 300} },
82
+
83
+ ]
84
+
85
+
86
+
87
+ const arr2 = [0, 2]
88
+
89
+
90
+
91
+ const arr3 = arr1.filter(e => (arr2.indexOf(e[Object.keys(e)[0]].id) >= 0))
92
+
93
+
94
+
95
+ console.log(arr3) //=> [ { apple: { id: 0, price: 100 } }, { banana: { id: 2, price: 300 } } ]
96
+
97
+ ```

1

テキスト修正

2018/01/14 05:35

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
 
32
32
 
33
- arr3 = arr1.reduce((arr, e) => {
33
+ const arr3 = arr1.reduce((arr, e) => {
34
34
 
35
35
  if (arr2.indexOf(e[Object.keys(e)[0]].id) >= 0)
36
36