如何将数组中的项目自身转换为数组?

时间:2014-09-23 22:26:18

标签: javascript jquery arrays google-maps google-geocoding-api

我有一系列'名称/位置',每个都需要进行地理编码才能获得latlng。

如何将这个“名称/位置”数组转换为由[name,latlng,markerimage]组成的每个名称的单独数组。
不要担心图像路径,因为它是单独的,但我在理解如何将原始数组拆分为每个项目的数组时遇到一些麻烦,然后需要对其进行地理编码以获取第二个值。阵列。

尝试隐藏它可能更容易,而不是理解我的解释 例如:

我原来的阵列:
OriginalArray = ["Alkimos", "Ararat Lunatic Asylum", "Ballarat Jail", "Beechworth Lunatic Asylum", "Brisbane City Hall", "Dreamworld", "Lalor House", "Monte Cristo Homestead", "North Head Quarantine Station", "Port Arthur", "Princess Theatre Melbourne", "Whepstead House", "Victoria Park Railway Tunnel"]

然后需要以下列格式显示。

        var mapMarkers# = [Name[0],geocoded latlng of Name[0], image address],
                  [Name[1],geocoded latlng of Name[1], image address], etc

不处理原始数组的示例是:

        var mapMarkers5 = [
            ["<em>Marker 5(Yowie/Bigfoot)</em>", -28.4543, 152.872, "images/bigfoot-icon.jpg"],
            ["<em>Marker 6(Other)</em>", -28.1143, 151.872, "images/other-icon.png"],
            ["<em>Marker 7(Ghost)</em>", -29.4543, 154.872, "images/ghost-icon.jpg"],
            ["<em>Marker 8(UFO)</em>", -27.943, 151.242, "images/ufo-icon.png"],
        ];

我想做什么:对于原始阵列中的所有项目

       var mapMarkers6 = [ 
           ["<em>Alkimos</em>", Alkimos(geocode).latlng, "images/bigfoot-icon.jpg"],
           ["<em>Ararat Lunatic Asylum</em>", Ararat Lunatic Asylum(geocode).latlng, "images/bigfoot-icon.jpg"],
           etc -->
           ["<em>Victoria Park Railway Tunnel</em>", Victoria Park Railway Tunnel(geocode).latlng, "images/bigfoot-icon.jpg"],
       ];


老实说,我真的不知道从哪里开始,因为必须对这些名称进行地理编码会在工作中引发一些扳手。

我可以在不同的功能中进行地理编码,还是只进行一次?

1 个答案:

答案 0 :(得分:0)

就像例子一样,你可以用jquery这样做:

var $arr = [2,1,4];
var $new = []
$.each($arr, function(index, item) {
    $new.push([item, 2*item]);
});

结果:[[2, 4], [1, 2], [4, 8]]

因此,在迭代初始数组时,您可以使用地理编码功能创建新数组。

供参考:此处给出详细解答:How to loop through array in jQuery?http://api.jquery.com/each/