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

回答編集履歴

2

2

2021/05/30 11:48

投稿

takasima20
takasima20

スコア7468

answer CHANGED
@@ -10,4 +10,18 @@
10
10
 
11
11
  console.log(get_data(player,"name"))
12
12
  console.log(get_data(player,["detail","age"]))
13
+ ```
14
+ --- 追記 ---
15
+ もしご質問のような書式を使いたいなら
16
+ ```javascript
17
+ function get_data(player, key) {
18
+ let [key1,key2] = key.split('.')
19
+ if (typeof key2 == "undefined") return player[key]
20
+ return player[key1][key2]
21
+ }
22
+
23
+ let player = { "name": "Ronaldo", "team": "Juventus" , "detail": { "age":23, "height":180 }}
24
+
25
+ console.log(get_data(player,"name"))
26
+ console.log(get_data(player,"detail.age"))
13
27
  ```

1

1

2021/05/30 11:48

投稿

takasima20
takasima20

スコア7468

answer CHANGED
@@ -2,7 +2,8 @@
2
2
  ```javascript
3
3
  function get_data(player, key) {
4
4
  if (typeof key == "string") return player[key]
5
+ let [key1,key2] = key
5
- return player[key[0]][key[1]]
6
+ return player[key1][key2]
6
7
  }
7
8
 
8
9
  let player = { "name": "Ronaldo", "team": "Juventus" , "detail": { "age":23, "height":180 }}