将数据附加到关联或维数组

时间:2013-12-17 20:00:25

标签: javascript jquery arrays multidimensional-array associative-array

我有一个国家选择,填充城市选择, 然后在特定城市周围添加半径。

var countrySet = new Array;
var citySet = new Array;
var radiusSet = new Array;
var set;


            function appendCountry(){                   

                if($.inArray($("#businessCountryTarget option:selected").text(),countrySet) === -1) {                           

                $("#businessDisplayCountryInfo").append($("#businessCountryTarget option:selected").text() + "<br>");           

                       countrySet.push($("#businessCountryTarget option:selected").text());
                    set = { country: $("#businessCountryTarget option:selected").text()};

        }

            }



            function appendCity(){                  

                if($.inArray($("#businessCityTarget option:selected").text(),citySet) === -1){                          

                        $("#cityContainer").append($("#businessCityTarget option:selected").text() + "<br>"); 

                       $("#radiusContainer").append($("#businessCityRadius option:selected").text() + "<br>"); 
                 citySet.push($("#businessCityTarget option:selected").text(),+'-'+$("#businessCityRadius option:selected").text());    

                set = {city: $("#businessCityTarget option:selected").text()};
                radius = $("#businessCityRadius option:selected").text();
                set = {radius: $("#businessCityRadius option:selected").text()};

                }       

            }


    function SaveLocations(){
            alert(set['country'] + ' - '+ set['city'] +'-'+ set['radius'] +"<br>");

        }

警报框中仅显示最后一项。其他人看似未定义。

请帮助。

麦克

3 个答案:

答案 0 :(得分:1)

Javascript的本机对象是键值对,它允许您将它们视为映射,大致相当于关联数组。所以上面的代码实际上是完全有效的javascript。

var set;
set = { country: "England", city: "London", radius: "10 miles" };

然后您可以使用

访问值
set["country"] //"England"

set.city //"London"

答案 1 :(得分:0)

JS中有关联数组。你只需要这样做:

var myarray = { "key": "Value" }

答案 2 :(得分:-1)

只要你声明:

var x = []; // you actually don't need new Array()

您可以将x视为关联数组

x.a = 10;

这相当于

var x = {a: 10};

因此...

x.a == 10; // true

x['a'] == 10; // true