私はjavascriptに比較的慣れていません。私はappceleratorのtitaniumSDKを使用してモバイルアプリを作成していますが、JavaScriptのみを使用しています。
とにかく、私は作成している階層メニューシステムを持っています。サブメニュー項目で満たされたデータ配列があります。各データ配列には、異なるサブメニューが表示されます。メニュー項目をクリックすると、次にロードするデータ配列をアプリケーションに知らせる変数を受け取ります。基本的な例を次に示します。
var data = [
{title:'Item 1',subID:'1', hasDetail:true,},
{title:'Item 2',subID:'1', hasDetail:true,}
];
var data1 = [
{title:'Child1',subID:'1_1', hasDetail:true},
{title:'Child2', subID:'1_2', hasDetail: true}
];
var data1_1 = [
{title:'Grandchild1'},
{title:'Grandchild2'}
];
// I have a ton of menu items though, so the method I'm using
// below is very inefficient:
if(win.subID == '1'){
tableview.setData(data1);
} else if(win.subID == '2'){
tableview.setData(data2);
}
メニューは他にもたくさんあり(1、2、3、4など、1_1、1_2、1_3、2_1、2_2など)、上記のデータ設定方法は非常に非効率的です。私がそうしたいのは次のようなものです:
tableview.setData(data + win.subID);
ただし、データは配列オブジェクトであり、subIDは文字列であることはわかっています。オブジェクトの名前を文字列と組み合わせて、オブジェクトを再度参照するように変換するにはどうすればよいですか?
ありがとう、そして上記の何か不明な点があれば教えてください。私はこれに本当に長い間苦労してきました。
編集:
これが私が言い換えれば必要なものです:
配列を参照するために使用したい文字列があります。
data1 = [
{value: 1},
{value: 2}
]
var string = 'data1';
magicStringToArrayFunction(string);
tableview.setData(string);
私が必要としているのは、配列/オブジェクト関数へのその魔法の文字列です。