объединить длинный JavaScript в один - PullRequest
0 голосов
/ 13 марта 2012

Я пытаюсь преобразовать очень длинный код javascript в один отдельный цикл for: из точки A в точку B, что я сделал не так? и положение, но они имеют одни и те же значки, тени ... Точка A ниже:

var mappro1 = new google.maps.Marker({
                    position: map1,
                    map: map,
                    icon: companyImage,
                    shadow: companyShadow,
                    title:"c",
                    zIndex: 4
            });
            var mappro2 = new google.maps.Marker({
                    position: map2,
                    map: map,
                    icon: companyImage,
                    shadow: companyShadow,
                    title:"c",
                    zIndex: 4
            });
            var mappro3 = new google.maps.Marker({
                    position: map3,
                    map: map,
                    icon: companyImage,
                    shadow: companyShadow,
                    title:"c",
                    zIndex: 4
            });
            var mappro4 = new google.maps.Marker({
                    position: map4,
                    map: map,
                    icon: companyImage,
                    shadow: companyShadow,
                    title:"c",
                    zIndex: 4
            });
            var mappro5 = new google.maps.Marker({
                    position: map5,
                    map: map,
                    icon: companyImage,
                    shadow: companyShadow,
                    title:"c",
                    zIndex: 4
            });
            var mappro6 = new google.maps.Marker({
                    position: map6,
                    map: map,
                    icon: companyImage,
                    shadow: companyShadow,
                    title:"c",
                    zIndex: 4
            });
            var mappro7 = new google.maps.Marker({
                    position: map7,
                    map: map,
                    icon: companyImage,
                    shadow: companyShadow,
                    title:"c",
                    zIndex: 4
            });
            var mappro8 = new google.maps.Marker({
                    position: map8,
                    map: map,
                    icon: companyImage,
                    shadow: companyShadow,
                    title:"c",
                    zIndex: 4
            });
            var mappro9 = new google.maps.Marker({
                    position: map9,
                    map: map,
                    icon: companyImage,
                    shadow: companyShadow,
                    title:"c",
                    zIndex: 4
            });

Точка B ниже:

            for ($i=1; $i <10; $i++){

                var $mappros = "mappro" + $i;
                var $mappos = "map" + $i;

                var mappros = new google.maps.Marker({
                    position: $mappos,
                    map: map,
                    icon: companyImage,
                    shadow: companyShadow,
                    title:"$i",
                    zIndex: $i
                });
            };

1 Ответ

1 голос
/ 13 марта 2012

Это мой вариант цикла в соответствии с кодом в A:

var mappros = [];
for (var $i = 1; $i < 10; $i++){
    var mappro = new google.maps.Marker({
        position: "map" + $i,
        map: map,
        icon: companyImage,
        shadow: companyShadow,
        title: "c",
        zIndex: 4
    });
    mappros.push(mappro);
};

Итак, вы получите массив mappro для доступа к любому из них через индекс. Если вам нужно отдельное имя для каждого mappro, вы должны заменить строку заголовка следующим:

title: $i,
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...