0

Jquery 每个 Json 值问题

这个问题与上面类似,但在被标记为重复之前并不相同。

在了解如何使用计算值之后,我遇到了另一个问题。

在我的 javascript 中,我有以下代码:

var incidentWizard = ['page1.html','page2.html','page3.html'];
var magicWizard = ['page1.html','page2.html','page3.html'];
var loadedURL = 'page1.html';

这个函数的输入是 (true,'incident')

function(next,wizardname)
 {

   var WizSize = incidentWizard.length; 
    wizardName = [wizardName] + 'Wizard';

   var wizardPOS = jQuery.inArray(loadedURL,incidentWizard);

现在我想使用wizardname参数来决定我要使用什么数组......

Loader(incidentWizard[wizardPOS],true);

我也试过

Loader([incidentWizard][wizardPOS],true);

Loader([incidentWizard][wizardPOS],true);

此外,加载器函数只需要在 wizardPOS 的数组中的字符串值,抱歉混淆

但是当我尝试这个时,我总是以结果结束......

/incidentWizard  

我知道这与使用计算值有关,但我已经尝试阅读它们,但似乎无法解决这个问题。

基本上我想使用wizardName 的计算值来访问该名称的数组。

请帮助支持,期待看到许多方法来做到这一点!

4

3 回答 3

1

您只能以这种方式访问​​对象的属性。对于全球价值观,window[ name ]将起作用。对于简单的局部变量,根本不可能。也就是说,如果在一个函数内部你有

var something;

如果你只有字符串“something”,那么就没有办法得到那个变量。

于 2012-06-22T15:05:15.563 回答
1

我只是将每个数组作为道具放在一个对象上:

var obj {
    incidentWizard: ['page1.html','page2.html','page3.html'],
    magicWizard: ['page1.html','page2.html','page3.html']
};

然后你可以这样做,obj['incidentWizard']否则obj.incidentWizard这将返回:

['page1.html','page2.html','page3.html']
于 2012-06-22T15:08:51.423 回答
1

在这条线上:

wizardName = [wizardName] + 'Wizard';

您正试图将字符串“向导”连接到Array一个字符串元素“事件”。我假设你只想要常规的字符串连接:

wizardName = wizardName + 'Wizard';

但是,现在您只有一个字符串,而不是数组实例。*Wizard要解决此问题,请将定义数组的方式更改为:

var wizardyThings = {
    incidentWizard : ['page1.html','page2.html','page3.html'],
    magicWizard: ['page1.html','page2.html','page3.html']
};

然后你的函数(它缺少一个名称),变成:

function someMethod(next, wizardname) {

    wizardName = wizardName + 'Wizard';
    var wizSize = wizardyThings[wizardName].length;

    var wizardPOS = jQuery.inArray(loadedURL, wizardyThings[wizardName]);
    ...
}
于 2012-06-22T15:13:23.227 回答