我对javascript比较陌生。我正在使用 appcelerator 的 Titan SDK 创建一个移动应用程序,它只使用 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);
但是,我知道 data 是一个数组对象,而 subID 是一个字符串。如何将对象的名称与字符串组合,然后将其转换为再次引用对象?
谢谢,如果上面有任何不清楚的地方,请告诉我。我已经为此苦苦挣扎了很长时间。
编辑:
换句话说,这就是我需要的:
我有一个字符串,我想用它来引用一个数组。
data1 = [
{value: 1},
{value: 2}
]
var string = 'data1';
magicStringToArrayFunction(string);
tableview.setData(string);
我需要的是数组/对象函数的神奇字符串。