2012-10-23 51 views
0

评估,如果变量名等于字符串

var myArrayVariable1 = new Array(); 
var myStringVariable1 = 'myArrayVariable1'; 
var myStringVariable2 = 'myArrayVariable2'; 

有什么办法找出如果其中一个字符串相匹配的变量名称?在上述情况下,myStringVariable1.Value = myArrayVariable1.VariablesName

我的难题: 我有大约100个对每个用户都是唯一的对象。 我需要每分钟更新一个对象

每个对象都被命名为数据库ID; JavaScript将不得不找到对象,删除它,然后使用新值重新创建它(这些是通过json拉)

所以我需要找到对象(使用我从json获得的字符串),那么我需要以某种方式调用该对象来删除它... 这里卡住了。

抽象我期待这样的事情:

foreach(object obj in allObjects){ 
    if (obj.ActualName==="something"){ 
    obj.Delete(); 
} 
} 

经过一番思考,并没有回答我的问题,我想使用某种词典(一个HashMap当量)追踪所有对象

+0

你能不能给我一个完整的码? – Andrew

+1

没有办法获得变量名称,也没有办法这样做,因为你必须写下它的名字以便与任何东西进行比较。 – Delta

+0

在任何必须引用myArrayVariable1的情况下,都必须键入myArrayVariable1,因为没有指向引用。 –

回答

1

如果变量是对象的一部分,你可以遍历它:

var obj { 
    myVar: 'hello' 
}; 
for (var varName in obj) { 
    alert(varName + ' = ' + obj[varName]); 
} 
+0

我加了一些抽象函数 – Andrew