begin process at 2012 05 30 03:14:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Javascript et ActiveX

 > 

Autre

 > 

Variable modifiée alors que non concernée ??


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Variable modifiée alors que non concernée ??

mardi 19 septembre 2006 à 09:03:16 | Variable modifiée alors que non concernée ??

Evangun

Bonjour à tous,

encore un problème...

j'ai déclaré mon tableaux "artistes".
ensuite je veux en faire une copie :

var expand_artistes_tab = artistes;

ce nouveau tableau sera semblable par les clés et la structure, mais pas par les valeurs, que je vais modifier.
Le problème, c'est que quand je modifie une case du tableau "expand_artistes_tab", ça modifie aussi la même case du tableau "artistes" !

la ligne en question :
expand_artistes_tab[i] = LireCookie("artiste_"+i);
 implique
artistes[i] = LireCookie("artiste_"+i);

pourtant, la fonction en question LireCookie a été prise sur Internet, et je n'ai rien changé dedans pour qu'elle modifie le tableau "artistes" ! je la mets en-dessous au cas où, mais je ne vois pas pourquoi elle serait fautive. Surtout que attention:

si je définis moi-même le tableau
expand_artistes_tab[i] valeur par valeur, sans faire var x = y, le problème ne se pose plus !!

quelle est l'erreur à votre avis ? merci !!


        function getCookieVal(offset){
            var endstr=document.cookie.indexOf (";", offset);
            if (endstr==-1) endstr=document.cookie.length;
            return unescape(document.cookie.substring(offset, endstr));
        }
        function LireCookie(nom){
            var arg=nom+"=";
            var alen=arg.length;
            var clen=document.cookie.length;
            var i=0;
            while (i<clen){
                var j=i+alen;
                if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
                i=document.cookie.indexOf(" ",i)+1;
                if (i==0) break;
            }
            return null;
        }

mardi 19 septembre 2006 à 09:06:58 | Re : Variable modifiée alors que non concernée ??

Evangun

Je n'ai peut-être pas été très clair quand j'ai dit :

si je définis moi-même le tableau expand_artistes_tab[i] valeur par valeur, sans faire var x = y, le problème ne se pose plus !!

c'est à dire que je déclare explicitement les deux tableaux exactement de la même façon :

artistes[1] = "Pierre";
expand_artistes_tab[1] = "Pierre";

etc.
mardi 19 septembre 2006 à 10:39:20 | Re : Variable modifiée alors que non concernée ??

bultez

Membre Club





bonjour,

   j'ai lu ça, il n'y a pas très longtemps...
   je ne sais plus où ??? Alzenheimer ??? 
   désolé de ne pouvoir donner le lien et citer les "auteurs"


<Script type="Text/JavaScript">

var a=new Array("a","b","c");
var b=a;
var c=a.slice(0);

b[1]="xxx";
c[2]="yyy";

for ( var i=0;i<a.length; i++ )
{
 document.write ( a[i]+"\t"+b[i]+"\t"+c[i]+"\r\n" );
}
</Script>


ça "marche aussi", bien entendu, avec les tableaux associatifs.

var a=new Array();
a["a"]="aaaa";
a["b"]="bbbb";
a["c"]="cccc";
var b=a;
var c=a.slice(0);

b["b"]="xxxx";
c["c"]="yyyy";

for ( var i in a )
{
 document.write ( a[i]+"\t" );
}


            cordialement   Bul     mon Site      M'écrire

mardi 19 septembre 2006 à 17:15:54 | Re : Variable modifiée alors que non concernée ??

Evangun

Merci Bultez !
et d'où pense-tu que vienne ce pb, est-ce un bug de javascript à proprement, ou une propriété que je ne connaîtrai pas ?
à+
mardi 19 septembre 2006 à 20:32:02 | Re : Variable modifiée alors que non concernée ??

PetoleTeam

Membre Club
Réponse acceptée !



B onjour à tous...

var a=new Array("a","b","c"); // Création d'un Tableau
var b=a;                                  // Création d'un POINTEUR sur le tableau déclaré car a est un tableau (1)
var c=a.slice(0);                      // Création d'un nouvel objet Array

(1) d'objet quelconque plus généralement cela peut être utile pour swaper des enregistrements par exemple, mais cela peut être dangereux aussi.

;0)

mardi 19 septembre 2006 à 20:49:52 | Re : Variable modifiée alors que non concernée ??

Evangun

Ah d'accord je vois ! Merci beaucoup à vous deux, vous m'avez bien aidé.
à bientôt


Cette discussion est classée dans : tableau, var, document, cookie, artistes


Répondre à ce message

Sujets en rapport avec ce message

Aide a decrypté [ par Wab ] bonjour, quelqu'un peux m'aider a decrypté ca? :function getCookieVal (offset) { var endstr = document.cookie.indexOf (";", offset); if (endstr == - Changer le chemin d'accès d'un cookie [ par Angelucky ] Salut tout le monde !!!Je suis charger de refaire un site en JavaScript dans lequel j'utilise un cookie ! Mon problème est de pouvoir changer l'emplac c'est quoi ce truc????? [ par gaga38 ] salut a tous, voila mon souci j'essaye de comprendre ce ..###{[ de code, mais la je butte serieux, si y'a des volontaires pour m'aider ce serai gentil problème avec le login [ par TheRif ] J'ai un petit problème avec le login,au début ca marchait comme sur des roulette, mais quand j'ai essayé de testé d'aller vers une page qui était bloq Cookie : Aidez moi s'il vous plait [ par Gravity ] Bonjour à tous !Je suis vraiment nul en Javascript... J'aurais aimé savoir comment ce code ci peut-être modifié ou alors, creer un nouveau code, pour pb avec <html:text [ par kalf2000 ] salut,en fait j'aimerai ajouter des lignes dynamiquement dans un tableau suivant le code trouvé sur ce forum :in1 = ""; var l = document.getE [xhtml] Intégration de fonctions javascript [ par kanabitch ] bonjour je cherche a corriger l'erreur que le navigateur me trouve lorsque que j'essai d'integrer une fonction javascript. Je vous montre le code car DHTML fonctionne sous Firefox, Safari mais pas IE [ par durand2504 ] code html comme cookie [ par g_fuck ] salut! j'ai un code JS servant a storer des cookies : function  SetCookie (name, value) {  var argv = SetCookie.a Protection page avec cookie de session expire [ par Jarod1980 ] Bonjour,Je voudrais créer une page d'authenfication donnant accès à une page necessitant un cookie de session qui est crée lors de l'authentification


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales