我有一个从不同函数传递的变量“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”已经从其他函数中失去了它的作用域,因为它在前一个函数中起作用。
提前致谢。这让我离开了大约一个星期。
答案 0 :(得分:0)
您可能无法获得正确的tag
或dataBlock
对象。
而不是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对象的“其他函数”就会被破坏。