Question sur la fonction .shift() pour les Array()

Signaler
Messages postés
20
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
24 novembre 2011
-
Messages postés
20
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
24 novembre 2011
-
Bonjour à tous et à toutes,
en ce moment je bosse sur un script où j'ai besoin de me servir plusieurs fois d'un même tableau, d'où des réinitialisations fréquentes...
La question du jour est donc:
pensez-vous que la méthode shift() est ce qu'il y a de plus adapté pour libérer entièrement un tableau (avec l'aide d'un for bien sûr) ?

Encore merci de votre attention.

13 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
Bonjour,

pourquoi libérer ?

_ met une variable=new Array() dans une fonction, elle sera locale
  donc réinitialisée à l'appel
_ ou ton_tableau.length ne peut pas être mis à 0 ?

Cordialement [mon Site] [M'écrire] Bul
Messages postés
20
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
24 novembre 2011

Coucou Bul3, décidément tu es là tout le temps  ^^
En locale ça ne m'arrange pas du tout, le tableau doit-être réutilisé par plusieurs fonctions.
Sinon pour la taille, le faite de remettre la taille à 0 signifie que l'on supprime vraiment tout ce qui a été enregistré précédemment?

Merci pour ta réponse bien sûr!
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
pourquoi ne pas essayer ??

    function affiche()
    {    alert(t.length);
        for ( var n=0;n<t.length;n++ )
        {    alert(t[n]);    }
    }
    var t=new Array("zéro","un","deux");
    affiche();
    t.length=0;
    affiche();
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
il doit bien y avoir d'autres possibilités ( probablement bien mieux )
Messages postés
20
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
24 novembre 2011

Oué ok ça c'est sûr ça marche mais pour les données précédentes elles deviennent quoi, je ne sais pas trop comment ça fonctionne sur le web, sur pc, elles seraient quand même gardées en mémoire dans une pile.
Messages postés
1788
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
24 juillet 2021
132
bonjour
 a tu essayer avec splice
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
et si tu faisais les shfit dont tu parlais ? elles deviendraient quoi ?
et quand si elles sont dans une variable locale, en fin de fonction, elles deviennent quoi ?
à mon avis c'est pareil.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
>>je ne sais pas trop comment ça fonctionne sur le web,
>>sur pc, elles seraient quand même gardées en mémoire dans une pile.
ce n'est pas un problème sur le web ou sur le pc !!!!
bien sûr que non, elles ne sont pas conservées !
enfin.... pas avec un langage évolué, l'interpréteur javascript, ici, fait ce qu'il faut,
tu pourrais avoir ce genre d'interrogation avec des langages dit de "bas niveau"
@+
Messages postés
20
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
24 novembre 2011

AAHH d'accord, bien compris, comme je suis beaucoup plus habitué au C++, je me posais donc cette question.

Et bien d'accord, je ferais cela avec shift, merci pour vos réponses!
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
>>je ferais cela avec shift,
quelle idée ????
tu vas faire une boucle de shift là ou 1 seule
instruction suffit : ton_Array.length=0 !?!?
@+
Messages postés
20
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
24 novembre 2011

OK OK ne te fâche mon bon Bul3 ^^, je mettrais donc la taille à 0...
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
j'ai l'air fâché ? c'est pas mon genre ça     ;o)
tu sais, chacun fait comme il le sent, je ne donne
    pas de conseils, juste ce que je ferai, et je
    me goure souvent !
@+
Messages postés
20
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
24 novembre 2011

Nan mais dans ce cas-ci c'est parfait, je ferais comme tu as dit ^^