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

質問編集履歴

2

コードの追記、returnの追加

2020/04/05 14:33

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,11 @@
1
1
  find関数を使って、findWhere関数を作っています。
2
2
  以下が模範回答です。
3
3
  ```js
4
+ var ladders = [
5
+ { id: 1, height: 20 },
6
+ { id: 3, height: 25}
7
+ ]
8
+
4
9
  function findWhere(array, criteria) {
5
10
  return array.find(element => {
6
11
  var property = Object.keys(criteria)[0];
@@ -15,8 +20,13 @@
15
20
  以下のようにObject.keys(criteria);と書いても変わらないと思うのですがObject.keys(criteria)[0];と書く必要があるのでしょうか?
16
21
 
17
22
  ```js
23
+ var ladders = [
24
+ { id: 1, height: 20 },
25
+ { id: 3, height: 25}
26
+ ]
27
+
18
28
  function findWhere(array, criteria) {
19
- array.find(element => {
29
+ return array.find(element => {
20
30
  var property = Object.keys(criteria);
21
31
  return element[property] === criteria[property];
22
32
  });

1

情報の追加

2020/04/05 14:33

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -7,6 +7,9 @@
7
7
  return element[property] === criteria[property]
8
8
  })
9
9
  }
10
+
11
+ findWhere(ladders, { height: 25 })
12
+ // result: { id: 3, height 25 }
10
13
  ```
11
14
 
12
15
  以下のようにObject.keys(criteria);と書いても変わらないと思うのですがObject.keys(criteria)[0];と書く必要があるのでしょうか?
@@ -18,4 +21,7 @@
18
21
  return element[property] === criteria[property];
19
22
  });
20
23
  }
24
+
25
+ findWhere(ladders, { height: 25 })
26
+ // result: { id: 3, height 25 }
21
27
  ```