82958


### 目的

変数と文字列を組み合わせた変数を変数で使いたい  
説明が下手ですいません。

例えばこのようなスクリプトを実行した際に、一番したの処理だけエラーを吐きます。

[code]

    var Over = "Overrrrr"
    var Page = "Stack" + Over + "Flow"
    
    JSON.parse(httpObj.response).Ids.find((v) => v.User == "Overrrrr");
    JSON.parse(httpObj.response).Ids.find((v) => v.User == Over);
    
    JSON.parse(httpObj.response).Ids.find((v) => v.User == Over).StackOverrrrrFlow;
    JSON.parse(httpObj.response).Ids.find((v) => v.User == Over).Page;
    
[/code]

`.StackOverrrrrFlow`を文字列と組みあせた`.Page`で実行しようとしているのが原因だとは思うのですが、どのように改善すれば動くようになるのでしょうか？

### 追記

実際に表示される内容を追記しました。お手数かけてすいません。

[code]

    JSON.parse(httpObj.response).Ids.find((v) => v.User == "Overrrrr");
    // Object { User: Overrrrr, Id: "82955", StackOverrrrrFlow: "DOTCOM" }
    
    JSON.parse(httpObj.response).Ids.find((v) => v.User == Over);
    // Object { User: Overrrrr, Id: "82955", StackOverrrrrFlow: "DOTCOM" }
    
    JSON.parse(httpObj.response).Ids.find((v) => v.User == Over).StackOverrrrrFlow;
    // "DOTCOM"
    
    JSON.parse(httpObj.response).Ids.find((v) => v.User == Over).Page;
    // undefined
    
[/code]

`"DOTCOM"`を取得させたいです。


CC BY-SA 4.0
2021-10-08T04:10:08.710
82955
2021-10-08T07:10:05.820
2021-10-08T07:10:05.820
31483
31483
question
javascript
変数と文字列を組み合わせた変数を変数で使いたい


もちょっと具体的な入力と出力を書いて欲しいですが、当てずっぽうで回答すると、

[code]

    JSON.parse(httpObj.response).Ids.find((v) => v.User == Over)[Page];
    
[/code]

ではないでしょうか。

文字列を変数名としてアクセスするには`eval()`が必要ですが、文字列をプロパティ名とするには`[]`でアクセスすればよいです。


CC BY-SA 4.0
2021-10-08T06:21:25.910
82958
2021-10-08T06:21:25.910
3475
82955
answer