架空の映画のネタバレレビュー

以下のプログラムでfor文を使ってx1に1, x2に2, x3に3を代入したいのですが、
変数x1~3をfor文を使って表す方法がわかりません。

下記のように
var test = "x" + i;
で変数testにx1という文字列を持たせ、そこにiを代入すれば上手くいくかなと思いましたが
上手くいきません。どのようにすれば期待通りになるか教えていただけないでしょうか。

============================================
var x1 = 0;
var x2 = 0;
var x3 = 0;
for(var i=1; i<=3 ; i++){
//x1に1, x2に2, x3に3を代入したい
var test = "x" + i;
test = i;
}
alert("x1=" + x1 + ",x2=" + x2 + ",x3=" + x3);
============================================

A 回答 (3件)

var x1,x2,x3;


for(var i=1;i<=3;i++) this["x"+i]=i;
alert([x1,x2,x3]);
    • good
    • 0
この回答へのお礼

thisを使えばよかったんですね。ありがとうございます。

お礼日時:2012/08/11 01:03

まぁ配列が妥当ですが、どうしてもというならeval


ただし文字列を評価するのはそれなりに危険なので注意してください

<script>
var x1 = 0;
var x2 = 0;
var x3 = 0;
for(var i=1; i<=3 ; i++){
eval("x" + i+"=i;");
}
alert("x1=" + x1 + ",x2=" + x2 + ",x3=" + x3);
</script>
    • good
    • 0
この回答へのお礼

確かにevalは危険そうですね。気をつけます。ありがとうございます。

お礼日時:2012/08/11 01:06

配列を使えば済むと思います。


http://www.tohoho-web.com/js/array.htm
    • good
    • 0
この回答へのお礼

はい、今回は配列を使わずにx1,x2...の形だとどうやればよいのだろうと悩んだので質問させていただきました。
前提条件を書いておらず申し訳ないです。ありがとうございました。

お礼日時:2012/08/11 01:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報