1) I have this Javascript array:
lang=new Array();
lang["sq"]="Albanian";
lang["ar"]="Arabic";
lang["en"]="English";
lang["ro"]="Romanian";
lang["ru"]="Russian";
2) In some other process, there is a returned value in a variable:
result.detectedSourceLanguage = 'en';
3) Now, i want to print the language full name by doing this:
alert(lang[result.detectedSourceLanguage]);
The dialog displays: undefined
Any ideas?
BTW: im using JQuery, so JQuery solutions are welcomed.
An Array
uses integer indexes. You probably want an Object
, which supports string indexes:
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'
};
(The latter example is probably better as more JS programmers would be happy with it.)
This script generates a message box (checked in IE & FF) that says "English":
lang = new Array();
lang["sq"] = "Albanian";
lang["ar"] = "Arabic";
lang["en"] = "English";
lang["ro"] = "Romanian";
lang["ru"] = "Russian";
detectedSourceLanguage = 'en';
alert(lang[detectedSourceLanguage]);
The only problem could be the result
object.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With