Javascript 将两个字母的国家/地区代码与预定义的国家/地区代码数组匹配

Javascript 将两个字母的国家/地区代码与预定义的国家/地区代码数组匹配,javascript,jquery,html,geolocation,Javascript,Jquery,Html,Geolocation,我正在尝试使用Javascript获取用户当前位置的国家代码。有了这个代码,我将得到两个字母的国家代码,然后我需要将这个两个字母的国家代码与我预定义的数组匹配,以得到三个字母的国家代码 下面是我的代码,但当我为三个字母的国家代码添加预定义的数组时,它就不起作用了。我的警报框现在都不工作了 <html> <head> <title>Get web visitor's location</title> <scri

我正在尝试使用Javascript获取用户当前位置的国家代码。有了这个代码,我将得到两个字母的国家代码,然后我需要将这个两个字母的国家代码与我预定义的数组匹配,以得到三个字母的国家代码

下面是我的代码,但当我为三个字母的国家代码添加预定义的数组时,它就不起作用了。我的警报框现在都不工作了

<html>
    <head>
        <title>Get web visitor's location</title>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script>

    var threeLtrCC.US = 'USA';
    var threeLtrCC.IN = 'IND';

$(document).ready( function() {

    $.getJSON( "http://smart-ip.net/geoip-json?callback=?",
        function(data){
            alert( data.countryCode);
            var cc = threeLtrCC[data.countryCode];
            var countryCode=data.countryCode

            alert(cc);
            $('#newURL').attr('href','https://www.google.com&jobid='+countryCode);
        }
    );
}); 

    </script>

    </head>
    <body>
<hr/>

<a id="newURL">url</a>

    </body>
</html>

获取web访问者的位置
var threeLtrCC.US=‘美国’;
var threeLtrCC.IN='IND';
$(文档).ready(函数(){
$.getJSON(“http://smart-ip.net/geoip-json?callback=?",
功能(数据){
警报(数据。国家代码);
var cc=threeLtrCC[data.countryCode];
var countryCode=data.countryCode
警报(cc);
$('#newURL').attr('href','https://www.google.com&jobid=“+国家代码);
}
);
}); 

网址
它没有提醒我任何事情。假设国家代码是US,那么它应该与我预定义的数组匹配,并将其打印为USA


我做错了什么?

您似乎在用这行声明两个变量:

var threeLtrCC.US = 'USA';
var threeLtrCC.IN = 'IND';
不向名为
threeLtrCC
的对象添加任何内容。您必须声明
threeLtrCC
,然后:

var threeLtrCC = {}
threeLtrCC.US = 'USA';
threeLtrCC.IN = 'IND';
甚至

var threeLtrCC = {"US": 'USA', "IN" : 'IND'}
演示:

这是错误的

var threeLtrCC.US = 'USA';
var threeLtrCC.IN = 'IND';
不能声明对象的属性

var threeLtrCC={IN:"IND",US:"USA"};

请查看并告诉您在那里看到的错误以及它们指向的行。您不应该在分配其数组值之前声明threLtrCC吗?像var threLtrCC={},threLtrCC.US='USA';你有什么错误吗?