Javascript 使用变量访问对象元素时遇到问题
我有一个从不同函数传递的变量“session”。 我不知道如何格式化它,以便我可以按如下方式使用它:Javascript 使用变量访问对象元素时遇到问题,javascript,Javascript,我有一个从不同函数传递的变量“session”。 我不知道如何格式化它,以便我可以按如下方式使用它: passed to function - // session = 'coverType_1' ) var tag = session.substring(session.indexOf("_") + 1); document.write(dataBlock['coverType_'+tag]['coverage'][1]); 这显示为“未定义” 然而,作为比较,这是可行的: var
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”已经从另一个函数中丢失了它的作用域,因为它在前一个函数中工作
提前谢谢。这让我耽搁了大约一个星期。您可能没有得到正确的
标记或数据块
而不是执行var tag=session.substring(session.indexOf(“”)+1)代码>,,
使用split()
运算符:
var tag = session.split("_")[1];
接下来,我不确定您是否打算将数据块
用作三维阵列,但如果确实使用了,请非常小心,因为您正在处理其中的大量数据。我建议首先使用console.log(dataBlock['coverType\'+tag])
,
然后console.log(数据块['coverType\'+tag]['coverType\'+tag])
以验证它是否具有所需的数据。如果没有,则提供数据块对象的“其他函数”被破坏。代码不足。尝试使用JSFIDLE。在文档之前执行console.log(tag)
。编写以查看您的标记是否具有正确的值。如果这不正确,请尝试使用会话
,可能您没有将其传递到范围。我们需要了解更多关于代码结构的信息,以便进行任何类型的诊断,否则您将得到“答案”,而这些答案实际上只是猜测问题所在。有关更多信息,请参阅。非常感谢您对我的模糊问题的回答。我能够解决我的问题,正如你所建议的,阵列被破坏了。