0

データの配列と変数(または複数の変数)があるとしましょう

var i = 1;
var arr = {
        1: ['whatever' + i,'there are ' + i + ' dogs in the yard.', etc], 
    }

後で関数内で配列内の変数を動的に更新する方法はありますか?

それで

function start() {
i++;
alert(arr[1][0]);
}

「whatever1」の代わりに「whatever2」を出力します

4

3 に答える 3

3

必要な配列などを用意することもできpush()ますが、文字列を作成しても、それ以上変更されることはありません。

var array = ['whatever',i,'there are ',i,' dogs in the yard.'];
array.push('more stuff');
array.push('even more stuff');
var string = array.join('')
//string = 'whatever[whatever "i" is during join]there are[whatever "i" is during join]dogs in the yard.more stuffeven more stuff'
于 2012-05-10T01:14:20.107 に答える
1

代わりに関数を使用できます。

var i = 1;
var arr = {
    1: [
        function() { return 'whatever' + i },
        function() { return 'there are ' + i + ' dogs in the yard.' },
        function() { return 'etc' }
    ], 
}:

これにより、通話が次のように変更されます。

function start() {
    i++;
    alert(arr[1][0]());
}
于 2012-05-10T02:01:43.160 に答える
1

このコードを試してください:

var arr = function(i){
    return {
        1: ['whatever' + i,'there are ' + i + ' dogs in the yard.', etc],
    }
}
var anyNumber = 1;
var updatedVar = arr(anyNumber);
于 2012-05-10T01:17:36.410 に答える