无法使用变量访问Object元素

时间:2015-03-17 21:54:01

标签: javascript

我有一个从不同函数传递的变量“session”。 我不知道如何格式化它,以便我可以按如下方式使用它:

passed to function  - // session  = 'coverType_1' )

var tag = session.substring(session.indexOf("_") + 1);

document.write(dataBlock['coverType_'+tag]['coverage'][1]);

显示为“未定义”......

然而,作为比较,这有效:

var i = 1;

document.write(dataBlock['coverType_'+i]['coverage'][1]);

如何格式化“session”以用作此Object元素的变量。

我认为“session”已经从其他函数中失去了它的作用域,因为它在前一个函数中起作用。

提前致谢。这让我离开了大约一个星期。

1 个答案:

答案 0 :(得分:0)

您可能无法获得正确的tagdataBlock对象。

而不是var tag = session.substring(session.indexOf("_") + 1);, 使用split()运算符:

var tag = session.split("_")[1];

接下来,我不确定您是否打算将dataBlock用作三维数组,但如果您这样做,请在处理其中的大量数据时要非常小心。我建议先使用console.log(dataBlock['coverType_'+tag]), 然后console.log(dataBlock['coverType_'+tag]['coverType_'+tag]) 验证它是否包含您需要的数据。如果没有,那么给出dataBlock对象的“其他函数”就会被破坏。