如果我有一堆对象,并且在这些对象中是字符串“ id”(与对象名称相同),如何使用该字符串引用该对象?

例:

//These objects are tests - note the id's are the same as the object name

var test1 = {
    id : "test1",
    data : "Test 1 test 1 test 1"
}

var test2 = {
    id : "test2",
    data : "Test 2 test 2 test 2"
}


/* ----- My Function   ----- */

var myObj = null;

function setMyObj(obj){
   myObj = obj;
}

setMyObj(test1);

/* ----- My Function   ----- */


现在,如果我拨打以下电话:

myObj.id;


结果为“ test1”(字符串)。
如果我想用它来从test1中获取数据,我该怎么做?

"myObj.id".data
[myObj.id].data


^^^

这些不起作用!

干杯,
丰富

最佳答案

如果您的变量是在全局范围内定义的,则可以进行以下操作

window[ myObj.id ].data


如果您在函数范围内,则事情会变得很困难。然后,最简单的方法是在窗口上的特定命名空间中定义对象,然后检索与上述代码类似的对象。

09-17 17:43
查看更多