0

複数の値を保持する配列があります。他にもいくつかのエリアがあり、それぞれに異なる番号が付けられています

var u3s0A = ["Ques De Ti", "Encina", "Renaissance", "Syllabic", "Polyphonic", "None"];

しかし、配列を動的に参照する方法がわかりませんでした。私はやってみました:

alert(u3s + randomNumber + A[p]);

しかし、エラーしかありませんでした。私はそれを実現します

alert('u3s' + randomNumber + 'A'[p]);

正しい配列名を出力しますが、その後文字列に変換され、インデックスを付けると次のようになります。

var arrayHolder = 'u3s' + randomNumber + 'A';
alert(arrayHolder[0]);

配列の最初の項目ではなく、配列名 (u) の最初の番号を取得します。

どんな助けでも大歓迎です!

お時間をいただきありがとうございます。

4

2 に答える 2

4

この方法を試して、一時オブジェクトを作成し、配列をオブジェクトのプロパティとして設定してから、構築されたプロパティ名でブラケット表記を使用してアクセスします。

 var ob = {}; 
 ob.u3s0A = ["Ques De Ti", "Encina", "Renaissance", "Syllabic", "Polyphonic", "None"];
 ob.u3s1A = ["Ques De Ti", "Encina", "Renaissance", "Syllabic", "Polyphonic", "None"];
 .....

その後

 alert(ob['u3s' + randomNumber + 'A'][p]);

これがグローバル スコープにあり、ブラウザを使用している場合は、temp オブジェクトの代わりに上記と同じ方法で window オブジェクトを使用してアクセスできますob

デモ

于 2013-11-15T04:09:33.340 に答える
0

次のようなことを試してください:

window['u3s' + randomNumber + A[p]]
于 2013-11-15T04:10:38.123 に答える