質問: ### 前提・実現したいこと "test.test"のような文字列のプロパティからオブジェクトを呼び出したいです。 お知恵をお貸しください。 ### 該当のソースコード players.testに格納されているオブジェクトをプロパティの一部(testの部分)を文字列で受け取って呼び出したいです。 ``` //idには"test"が格納されています var r; eval("r=players."+id); ``` というコードを試しましたがrには"players.test"という文字列が代入されてしまいます。 文字列のプロパティからオブジェクトを呼び出す方法をご存知の方がいればご教授ください。
回答: 状況証拠的にはこうなってるんですかね? ``` var players = {test: 'players.test'}, id = 'test'; var r; eval("r=players."+id); console.log(r); // "players.test" ``` `"players.test"` から `"test"` を抽出するには次のように書きます。 ``` var players = {test: 'players.test'}, id = 'test'; var r = /[^.]+$/.exec(players[id]); console.log(r[0]); ``` ただ、変数 `players` の中身が謎すぎてもやもやします。 > > rには"players.test"という文字列が代入されてしまいます。 > > > これは間違いないのでしょうか。 間違いないとするなら設計から見直した方が良い気はします。 Re: masaya_46neko さん