如何引用带有变量作为标识符的JavaScript对象?

时间:2018-11-26 08:15:55

标签: javascript cordova javascript-objects

具体来说,我在学校的每个教室都有一大堆JavaScript对象。它们每个都有几个属性。我正在尝试使用变量作为名称来引用它们,如下所示:

var lok001 = {floor: 0, x: 2037, y: 713};
var lok002 = {floor: 0, x: 1759, y: 743};

大约有150个教室。我正试图从他们那里得到x和y位置

var lokVan = lok001;
outputObject.innerHTML = lokVan.x;

outputObject在文档的前面定义,但是lokVan.x似乎输出“未定义”。

如何使它正常工作?

编辑:我已解决。而不是使用

var lokVan = lok001;

将lok001读为字符串,我不得不使用它

var lokVan = eval(lok001);

这将读取对象lok001并将其传输到lokVan,而不是尝试从字符串读取属性

编辑2:我读到不应该使用eval,所以现在我将所有教室放到另一个对象中,以便我可以做

van = 003;
lokalen[van].x;

其中

var lokalen = {
    '001': { floor: 0, x: 1, y: 1 },
    '002': { floor: 0, x: 2, y: 2 },
    '003': { floor: 0, x: 3, y: 3 },
     ...
}

1 个答案:

答案 0 :(得分:-1)

您应该使用=符号将对象关联到变量。

var lok001 = {floor: 0, x: 2037, y: 713};
var lok002 = {floor: 0, x: 1759, y: 743};