2009-07-02 12 views
0

EVALであるとすれば、どのようにして動的に配列名を作成するのですか?Evalを使用せずに動的に参照するJavascript配列名?

私はたくさんの配列を持っており、ユーザーが何をクリックするかによって異なるものを参照する必要があります。

コードのこのビットは私に配列オブジェクト与えます:

(eval(calendarObject.id + '7')) 

をしかし、evalが悪いので、どのように私は配列名を構築するために行うと、それを参照しますか?

if (jQuery.inArray(String(checkinDate.getTime()/1000), 
(eval(calendarObject.id + '7'))) == -1) { //do stuff }; 

任意のアイデア:ここ

はもう少し状況ですか?

ありがとうございました。

答えて

5

それそれaglobal変数は、それがウィンドウオブジェクトのプロパティになります。

window[calendarObject.id + '7'] 
私はまだOPが望んでいるものをうまくすることはできませんが、私はあなたがそれを書き換える
+0

それはグローバルなものとして残すのではなく、別のオブジェクトのプロパティです。 – annakata

+1

近いベターだと思う – Quentin

+0

@annakata - 私のページがPHP経由でビルドされるとき、配列のセット(ctg7、gdn7、twr7など)を書き出します。次に、ユーザーがブラウザでクリックしたものに応じてこれらの値にアクセスする必要があります。とにかく、@ Gregは答えを持っていました。ありがとうございました:) @David Dorward - はい、私はそうだと思いますが、今のところ働いています:) – firecall

関連する問題