回答編集履歴

2

単なるオブジェクトなのを見落としてました

2018/11/27 06:29

投稿

maisumakun
maisumakun

スコア145184

test CHANGED
@@ -2,17 +2,25 @@
2
2
 
3
3
 
4
4
 
5
- 対応した環境あれば、`Array.prototype.find`を使のが便利です
5
+ …以前に、`arr`は単なるオブジェクトなので、`forEach`などのメソッドは持ちません。`for`-`in`などで回しましょう。
6
6
 
7
7
 
8
8
 
9
9
  ```javascript
10
10
 
11
- const hoge = (val) => {
11
+ const hoge = val => {
12
12
 
13
- const obj = arr.find(elm => elm.num == val);
13
+ for(const key in arr) {
14
14
 
15
- if(obj) return obj.name;
15
+ const elm = arr[key];
16
+
17
+ if(elm['num'] == val) {
18
+
19
+ return (elm['name'])
20
+
21
+ }
22
+
23
+ }
16
24
 
17
25
  }
18
26
 

1

nameを返さないといけなかった

2018/11/27 06:29

投稿

maisumakun
maisumakun

スコア145184

test CHANGED
@@ -8,6 +8,12 @@
8
8
 
9
9
  ```javascript
10
10
 
11
+ const hoge = (val) => {
12
+
11
- const hoge = (val) => arr.find(elm => elm.num == val);
13
+ const obj = arr.find(elm => elm.num == val);
14
+
15
+ if(obj) return obj.name;
16
+
17
+ }
12
18
 
13
19
  ```