在Javascript数组中查找字符串键

And*_* SK 8 javascript arrays

1)我有这个Javascript数组:

lang=new Array();
lang["sq"]="Albanian";
lang["ar"]="Arabic";
lang["en"]="English";
lang["ro"]="Romanian";
lang["ru"]="Russian";
Run Code Online (Sandbox Code Playgroud)

2)在某些其他进程中,变量中有一个返回值:

result.detectedSourceLanguage = 'en';
Run Code Online (Sandbox Code Playgroud)

3)现在,我想通过这样做打印语言全名:

alert(lang[result.detectedSourceLanguage]);
Run Code Online (Sandbox Code Playgroud)

对话框显示:undefined

有任何想法吗?

BTW:即时通讯使用JQuery,欢迎使用JQuery解决方案.

str*_*ger 21

一个Array使用整数索引.你可能想要一个Object支持字符串索引的:

lang=new Object();
lang["sq"]="Albanian";
lang["ar"]="Arabic";
lang["en"]="English";
lang["ro"]="Romanian";
lang["ru"]="Russian";

// or

lang = {
    'sq': 'Albanian',
    'ar': 'Arabic',
    // ...
    'ru': 'Russian'
};
Run Code Online (Sandbox Code Playgroud)

(后一个例子可能更好,因为更多JS程序员会对它感到满意.)