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;

文字列「何か」しかない場合、その変数を取得する方法はありません。

于 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文字列「Wizard」を1 つの文字列要素「インシデント」に連結しようとしています。通常の文字列連結が必要だと仮定しています。

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 に答える