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

Q&A

解決済

2回答

785閲覧

連想配列から変数で値を抜き出したい

BTB

総合スコア136

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/05/30 09:58

0

0

前提・実現したいこと

連想配列の変数から値を抜き出すときに、変数を使ってvalueを抜き出したいのですが、
ネストになっているキーを変数で指定する方法がわからず困っております。

教えていただけると幸いです。

該当のソースコード

js

1const player = { "name": "Ronaldo", "team": "Juventus" , "detail": { "age":23, "height":180 }} 2const key = 'name' 3console.log(player[key]) // Ronaldo

このとき、detail配下のageを一つの変数で指定して取得したいです。

試したこと

player['detail']['age'] // 変数(key)によるキー指定で取得できるようにしたい // NG例 const key = 'detail.age' player[key] // undefined player.key // undefined

この方法で取得はできるのですが美しくなく、もっと良い方法がある気がしております。

let key = 'detail.age' let player = { "name": "Ronaldo", "team": "Juventus" , "detail": { "age":23, "height":180 }} temp = key.split('.') if (temp.length >1) { player[temp[0]][temp[1]] } else { player[temp[0]] }

宜しくおねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

guest

回答の取得に失敗しました

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.25%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問