回答編集履歴
2
単なるオブジェクトなのを見落としてました
answer
CHANGED
@@ -1,10 +1,14 @@
|
|
1
1
|
`forEach`の中身は**別な関数**ですので、`return`してもその関数を抜ける意味しかなくて、外側の関数は抜けられません。
|
2
2
|
|
3
|
-
|
3
|
+
…以前に、`arr`は単なるオブジェクトなので、`forEach`などのメソッドは持ちません。`for`-`in`などで回しましょう。
|
4
4
|
|
5
5
|
```javascript
|
6
|
-
const hoge =
|
6
|
+
const hoge = val => {
|
7
|
-
const
|
7
|
+
for(const key in arr) {
|
8
|
-
|
8
|
+
const elm = arr[key];
|
9
|
+
if(elm['num'] == val) {
|
10
|
+
return (elm['name'])
|
11
|
+
}
|
12
|
+
}
|
9
13
|
}
|
10
14
|
```
|
1
nameを返さないといけなかった
answer
CHANGED
@@ -3,5 +3,8 @@
|
|
3
3
|
対応した環境であれば、`Array.prototype.find`を使うのが便利です。
|
4
4
|
|
5
5
|
```javascript
|
6
|
+
const hoge = (val) => {
|
6
|
-
const
|
7
|
+
const obj = arr.find(elm => elm.num == val);
|
8
|
+
if(obj) return obj.name;
|
9
|
+
}
|
7
10
|
```
|