- ベストアンサー
変数の中の文字列から””を取り除く方法
javascriptに関する質問です。 タイトル通りですが、 変数の中の文字列からダブルクォーテーションを取り除く方法はありますか? 以下は私がやりたいことの例です。 var a = "hello", b = "hi"; var greet = "a, b"; var c = greet.split(","); この結果は c = ["a", "b"] こうですが ここからダブルクォーテーションを除去して、 c = [a, b] と変数名にすることは可能ですか? 可能でしたらどのような方法があるでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ブラウザで実行するなら、グローバルオブジェクトのwindowを使って、 c = c.map(function(x){ return window[x.replace(" ","")]; でしょうか。 わかりやすく書くと、 c[0] = window[c[0]]; c[1] = window[c[1]]; ということです。 なお、splitした時点では、c の値は ["a","b"] ではなく ["a"," b"]なので、余計な空白を取り除く必要があります。
その他の回答 (1)
- tracer
- ベストアンサー率41% (255/621)
正面から回答するなら、 c = [a,b]; これはエラーです。 したがって、変数名にすることは不可能です。 残念ながら、何をしたいのかが分からないので、これ以上回答を建設できませんが、おそらくは最終的な目的に対してのアプローチ(ダブルクォーテーションを除去して変数名にすること)が間違っているので、目的を明確にしてアプローチそのものを質問されることをおすすめします。
お礼
ご回答ありがとうございます。 var a = "hello", b = "hi"; var c = [a,b]; console.log(c); これで得られた結果はエラーではなく、["hello","hi"] でしたので、間違いではないと思うのですが...。 しかしながら、目的に対するアプローチが間違っているかもしれないのは確かです。 何分javascriptを学び始めてから日が浅いもので...。 ごく単純なスクリプトで対応しているのが現状です。 アドバイスありがとうございました。
お礼
ご回答ありがとうございます。 希望通りの処理になりました! window["文字列"] とすると 文字列 を出力してくれるということですね。 どう検索してもでてこなかったので本当に助かりました。 ありがとうございました。