Existe uma maneira fácil de criar variáveis dinâmicas com Javascript?

Criei um mapa do Google baseado em dados com diferentes ícones que são atribuídos ao mapa, dependendo do tipo de item localizado. Portanto, se eu tiver 5 tipos de pontos de referência e cada um receber um ícone diferente (loja, biblioteca, hospital etc.) - o que eu gostaria de fazer é gerar os objetos de ícone do Google dinamicamente. Eu estava pensando algo assim:

types = array('hospital','church','library','store',etc);
var i=0;
while (i<=types.length) {

    var landmark + i = new google.maps.Icon();
    landmark.image = "icon" + i + ".png";
    i++;
    } 

no entanto, como você provavelmente adivinhou, isso não funciona. Eu também tentei usar eval, assim:

while (i<=types.length) {
        doIcon(i);
        i++;
    }   

    function doIcon(i){ 
        eval("var landmark" + i + " = new.google.maps.Icon();");
        return eval("landmark" + i);
    }

mas também não funcionou - eu gostaria de receber dicas sobre como gerar variáveis javascript dinamicamente. Tem que ser js puro, eu poderia fazê-lo em PHP, mas isso não é uma opção aqui.

Obrigado!