我需要获取一个变量的值,该值将是“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]);
根据我的理解,您希望获取一个变量名并将其作为字符串进行操作,然后调用名称为新修改的字符串值的变量的值。
如果是这样,我有两个想法:
如果这些变量(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"]
总之,您最初想到的并不是好的编码实践,但是您可以使用这些变通方法来帮助您实现目标。
您还可以制作一对数组以将每个步骤与一个数字相匹配。
var stepToNum = {'step1':1, 'step2':2, 'step3':3, ...}
var numToStep = ['step1','step2','step3', ...],
var currStep = 'step1';
var newStep = numToStep[(stepToNum[currStep]+1)];