「step1」、「step2」、「step3」などのいずれかになる変数の値を取得する必要があります。
次に、その変数から数値を取得したいと思います。「step1」から「1」だけを取得し、それに1を取得します。
したがって、値がstep1の場合、値step2を持つ別の変数になります。
var currentStep = step1;
var nextStep =.....
ありがとう!
「step1」、「step2」、「step3」などのいずれかになる変数の値を取得する必要があります。
次に、その変数から数値を取得したいと思います。「step1」から「1」だけを取得し、それに1を取得します。
したがって、値がstep1の場合、値step2を持つ別の変数になります。
var currentStep = step1;
var nextStep =.....
ありがとう!
数値が増加する変数が必要な場合は、配列の使用を検討してください。より簡単になります。
arrSteps = [1,3,5];
配列を反復処理するには、ループを使用できます
for(i=0; i < arrSteps.length; i++)
alert(arrSteps[i]);
私の理解では、変数名を取り、それを文字列であるかのように操作し、名前が新しく変更された文字列値である変数の値を呼び出します。
もしそうなら、私は2つのことを念頭に置いています:
これらの変数 ( step1
、step2
など) がグローバル変数の場合、 を呼び出しwindow[variableName]
て値を取得できます。あなたの場合、window['step1']
variable の値を返す必要step1
があり、jQuery 文字列関数を使用してキー値を変更できます。例えば、
var currentStep = 'step1';
var nextStep = 'step' + (parseInt(currentStep.substr(4))); //nextStep = 'step2'
console.log(window[currentStep]) //prints 'value of step1'
console.log(window[nextStep]) //prints 'value of step2'
これらがグローバル変数でない場合は、次のようにオブジェクトを使用する必要があります。
var steps = {
step1: "value of step1",
step2: "value of step2",
step3: "value of step3"
};
番号1と同じ方法を使用してそれらを呼び出します(例外window[currentStep]
はsteps[currentStep]
. または、@ Adilの回答のように配列を使用できます:
var steps = ["value of step1", "value of step2", "value of step3"]
結論として、最初に考えていたことは適切なコーディング方法ではありませんが、目標を達成するために次のような回避策を使用できます。