首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JS :获取一个值,然后返回一个数字

JS :获取一个值,然后返回一个数字
EN

Stack Overflow用户
提问于 2016-07-25 18:01:21
回答 1查看 44关注 0票数 0

正如你在下面看到的,我设法写了一个js公式,允许我检索在我的网站上选择的语言访问者。

最后,我想更进一步:一旦检索到选定的语言,我希望公式为每种语言返回一个数字。例如,如果选择的语言是"en“,我希望脚本返回"1”。

你能帮我改进一下这个脚本吗?

代码语言:javascript
复制
tC.internalvars.metalanguage = "";
var metas = document.getElementsByTagName('meta'); 
for (var i=0; i<metas.length; i++) { 
   if (typeof metas[i].getAttribute("http-equiv") != "undefined" && metas[i].getAttribute("http-equiv") == "Content-Language" && typeof metas[i].getAttribute("content") != "undefined" &&  metas[i].getAttribute("content") !== "") { 
     tC.internalvars.metalanguage = metas[i].getAttribute("content");
   } 
} 
EN

回答 1

Stack Overflow用户

发布于 2016-07-27 18:28:55

当你找到你的语言时,你只需要像这样停止循环:

代码语言:javascript
复制
for (var i=0; i<metas.length; i++) { 
   if (typeof metas[i].getAttribute("http-equiv") != "undefined" && metas[i].getAttribute("http-equiv") == "Content-Language" && typeof metas[i].getAttribute("content") != "undefined" &&  metas[i].getAttribute("content") !== "") { 
     tC.internalvars.metalanguage = metas[i].getAttribute("content");
     // now you find the language and break here
     break;
   } 
}

通过这种方式,您可以跳过其他元素,因为您在这里不需要更多的元素。

关于映射,一种快速的方法是在您的主范围内定义一个普通对象,这类似于散列映射:

代码语言:javascript
复制
var languages = {
    "en": 1,
    "it": 2,
    // ... so on
}

因此,您可以使用以下命令获取语言代码:

代码语言:javascript
复制
var langCode = languages[tC.internalvars.metalanguage];

或者,您可以从函数内部返回值:

代码语言:javascript
复制
return languages[tC.internalvars.metalanguage];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38564765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档