1

これは重複した質問またはばかげた質問だと思われるかもしれません。しかし、答えは私を助けません。

これが私の単純な問題です:

var option1 = "some text";
var option2 = "some text";
var option3 = "some text";

forループの要素「option1、option2、option3」にアクセスしたい:

for(var i = 1; i < 4; i++)
{
    alert(option+i);   
}

option + iであってはならないことは知っていますが、これを解決する方法がわかりません。

よろしくお願いします。

これが重複していることがわかった場合は、この質問にマークを付けてください。ありがとう

4

4 に答える 4

6

それらがwindowスコープ内の変数である場合は、にアクセスできますwindow['option'+i]。ただし、実際には配列を使用する必要があります。

var option = [
    "some text",
    "option 2",
    "option 3"
];
for( var i=0; i<3; i++) alert(option[i]);
于 2012-07-17T04:17:26.317 に答える
1

これを試して:

var option1 = "some text";
var option2 = "some text";
var option3 = "some text";

for(var i = 1; i < 4; i++)
{
 alert(eval('option'+i) + '\n');
}

windowKolinkが投稿したように、配列を使用するか、経由でアクセスする方がよいでしょう。また、を使用する場合は、セキュリティ上のリスクとして、eval自分で管理できないものがないことを確認してください。eval

于 2012-07-17T04:19:59.420 に答える
1

これをお試し下さい:

    option = new Array();
    option[1] = "some text";
    option[2] = "some text";
    option[3] = "some text";
    for(var i = 1; i < 4; i++)
    {
        alert(option[i]);   
    }
于 2012-07-17T04:22:02.403 に答える
0

ループを次のように変更します。

for(var i = 1; i < 4; i++)
{
    alert(eval("option"+i));   
}

ご不明な点がございましたらお知らせください

于 2012-07-17T04:17:17.430 に答える