【发布时间】:2009-09-06 02:41:45
【问题描述】:
1) 我有这个 Javascript 数组:
lang=new Array();
lang["sq"]="Albanian";
lang["ar"]="Arabic";
lang["en"]="English";
lang["ro"]="Romanian";
lang["ru"]="Russian";
2)在其他一些过程中,变量中有返回值:
result.detectedSourceLanguage = 'en';
3) 现在,我想通过以下方式打印语言全名:
alert(lang[result.detectedSourceLanguage]);
对话框显示:undefined
有什么想法吗?
顺便说一句:我使用的是 JQuery,所以欢迎使用 JQuery 解决方案。
【问题讨论】:
-
您是否尝试过使用索引? 0,1,2,3?声明变量时你使用了 VAR 吗?尝试也调用该变量“resultDetectedSourceLanguage”......不知道还能说什么...... :)
-
可能会检查您是否在尝试访问它时定义了数组。顺便说一句,“在其他过程中”是什么意思?
-
如果我打电话:alert(lang['en']);它按应有的方式打印英文。问题是当我这样做时: alert(lang[var1]); (其中 var1 保存“en”值)。
-
那么断言是不可能的;无论您是否滥用了 Array(应该是 Object,{}),JavaScript 都允许这样做,并且您上面的代码确实可以按预期工作。还有其他事情发生;发布一个失败的完整测试用例。
标签: javascript arrays