0

我正在研究现有的 Javascript 代码,它使用存储在名为 data1、data2 等的对象中的数据集。这些数字是从数据库中获取的 ID。

现在,我需要编写一个额外的函数,它将 ID 作为输入,然后使用该 ID 构造适当的对象名称,然后将该对象作为参数传递给函数。

所以,像:

function doStuff(id){
    var objname="data"+id;
    //now, I need to pass the object (not just the name) to a function
    someFunction(objname);    //this obviously doesn't work, because it just passes the object name as a string
}

那么,鉴于我有对象名称,我如何将实际对象传递给函数?

这个问题听起来很简单,我认为有一种方法可以做到这一点,但谷歌似乎没有帮助。

4

2 回答 2

1

由于对象存在,您需要一种“找到”它们的方法。我建议您使用键值数组在字符串和对象之间创建关系——键是字符串,值是对象。然后,您可以使用字符串索引数组,它将返回对象。

于 2013-02-10T19:40:58.897 回答
1

创建一个对象并在其中存储键,如下所示:

var obj = {
    data0 : "example 1",
    data1 : "example 2"
}

然后你可以像这样访问属性:

function doStuff(id) {
    var key = "data" + id;
    someFunction(key);
}

someFunction(key) {
    return obj[key];
}
于 2013-02-10T19:44:27.130 回答