Bonjour à tous,

Je suis en train de coder une carte avec un grand nombre d'objet différent.
Ces objets ont par moment des functions en commun, mais comme les groupe d'objet sont stocké dans des tableau différent je suis un peu coincé pour alléger et nettoyer mon code

le code non compact

Décrivez ici votre code ou ce que vous cherchez à faire

function sid_delete()
{
    if(sizeObj(SID_on_map)> 0)
    {
        for(var i = 0; i < SID_on_map.length; i++)
        {
            SID_on_map[i].setMap(null);
            delete SID_on_map[i];

        }
        SID_on_map=[];
    }
}

function star_delete()
{
    if(sizeObj(STAR_on_map)> 0)
    {
        for(var i = 0; i < STAR_on_map.length; i++)
        {
            STAR_on_map[i].setMap(null);
            delete STAR_on_map[i];

        }
        STAR_on_map=[];
    }
}

function clearFIX(key)
{
    if(sizeObj(FIX_on_map)> 0)
    {
        for(var i = 0; i < FIX_on_map.length; i++)
        {
            FIX_on_map[i].setMap(null);
            delete FIX_on_map[i];
        }
        FIX_on_map=[];
    }
}

....

j'aimerai faire une function unique

function deleter(mod)
{
    if(sizeObj("mod"_on_map)> 0)
    {
        for(var i = 0; i < "mod"_on_map.length; i++)
        {
            "mod"_on_map[i].setMap(null);
            delete "mod"_on_map[i];

        }
        "mod"_on_map=[];
    }
}

en php ça serai pas un soucis, mais en js je parcours les forums et hormis eval() rien ne ressort réellement

Que me conseileriez vous.?

je vous remercie par avance de votre aide

Flo

1 réponse


flo3376
Auteur

J'ai trouvé ceci, mais es ce propre?

function deleter(mod)
{
    if(sizeObj(window[mod])> 0)
    {
        for(var i = 0; i < window[mod].length; i++)
        {
            window[mod][i].setMap(null);
            delete window[mod][i];

        }
        window[mod]=[];
    }
}