begin process at 2012 05 30 04:07:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

tableaux


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

tableaux

dimanche 28 octobre 2007 à 13:03:16 | tableaux

debutant VB

Membre Club
Bonjour à tous, j'essaye de débugger mon programme de sudoku,
mais j'ai un petit problème ; en simplifié, c'est celui-là :
Lorsque j'exécute le code js ci-dessous, je me rend compte que
la ligne "numD[1][2] = 2;" change numD[1][2] mais aussi numD[0][2] !
(j'obtiens les messages "1:0; 2:0;" et "1:2; 2:2;" ...)
"
 var numU; numU = new Array(3);
 var numD; numD = new Array(2);
 numU[0] = 5; numU[1] = 6; numU[2] = 0;
 numD[0] = numU; numD[1] = numU;
 alert("1:"+numD[0][2]+"; 2:"+numD[1][2]+";");
 numD[1][2] = 2;
 alert("1:"+numD[0][2]+"; 2:"+numD[1][2]+";");
"

Merci de me dire ce qu'il faut que je fasse pour que mon code fonctionne.
(je m'attendais à un "1:0; 2:0;" et "1:0; 2:2;")
lundi 29 octobre 2007 à 09:44:41 | Re : tableaux

bultez

Membre Club


Bonjour,


    pas tout à fait compris... mais, ça baigne
        ( les index commencent à 0 )


 var numU = new Array(3);
 var numD = new Array(2);
 numU[0] = 5;
 numU[1] = 6;
 numU[2] = 0;
 numD[0]=numU;
 numD[1]=numU;
 numD[1][2] = 2;
 alert("0,1\t"+numD[0][1]+"\n1,2\t"+numD[1][2]);



                Cordialement            Bul         [mon Site]     [M'écrire]
lundi 29 octobre 2007 à 12:50:15 | Re : tableaux

debutant VB

Membre Club

Euh, je me suis sans doute mal exprimé.
C'est peut-être un bug que ça ne fait pas dans tous les navigateurs,
mais en tout cas, ça ne marche pas dans mon fichier .hta :
" var numU = new Array(3);
 var numD = new Array(2);
 numU[0] = 5;
 numU[1] = 6;
 numU[2] = 0;
 numD[0]=numU;
 numD[1]=numU;
 alert("0,2\t"+numD[0][2]+"\n1,2\t"+numD[1][2]);
 numD[1][2] = 2; 
 alert("0,2\t"+numD[0][2]+"\n1,2\t"+numD[1][2]); "

J'obtiens "0,2   0
               1,2   0",
et           "0,2   2
               1,2   2"
Est-ce normal que la ligne "numD[1][2] = 2;" ai changé numD[0][2] ?

lundi 29 octobre 2007 à 13:13:05 | Re : tableaux

bultez

Membre Club


>>C'est peut-être un bug que ça ne fait pas dans tous les navigateurs,
    ne cherche pas de bugs.
         on peut dire que tous les navigateurs en sont tous exempts.
>>mais en tout cas, ça ne marche pas dans mon fichier .hta :
    un .hta, ça se comporte comme un .htm ( ou presque )
   
var numU = new Array(3);
var numD = new Array(2);
 numU[0] = 5;            
 numU[1] = 6;
 numU[2] = 0;
 numD[0]=numU;
 numD[1]=numU;
 alert("0,2\t"+numD[0][2]+"\n1,2\t"+numD[1][2]);
    ben.... tableau[0 ou 1][2] n'est pas initilalisé !
    tu as chargé tableau[n][0]  et tableau[n][1] pas tableau[n][2]


                Cordialement            Bul         [mon Site]     [M'écrire]
lundi 29 octobre 2007 à 15:12:42 | Re : tableaux

debutant VB

Membre Club

Mais si je mets un 1 à la place du 0 de numU[2], ça reviens au même ?
On obtiens "0,2   1
                   1,2   1",
et               "0,2   2
                   1,2   2"
La ligne "numD[1][2] = 2;" change toujours numD[0][2],
en même temps que numD[1][2], de 1 à 2 ?

lundi 29 octobre 2007 à 15:43:11 | Re : tableaux

bultez

Membre Club
Réponse acceptée !

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" );    }

attention donc à ce qu'on manipule avec les Arrays
b et a, c'est "la même chose", pas c


                Cordialement            Bul         [mon Site]     [M'écrire]
lundi 29 octobre 2007 à 15:45:48 | Re : tableaux

Zobibol

Membre Club
Réponse acceptée !
Bonjour à vous
Je sais pas trop si j'ai pigé, mais j'ai obtenu le résultat demandé ( sans avoir tout bien compris ) en passant par le join("..").split(".."):

    var numU = new Array();
                var numD = new Array();
                numU[0] =5;           
                numU[1] =6;
                numU[2] =0;
                numD[0]=numU.join(",").split(",");
                numD[1]=numU.join(",").split(",");
                numD[0][2]=2;
                alert("0,2\t"+numD[0][2]+"\n1,2\t"+numD[1][2]);

et la hop y a bien la que la valeur du numD[0][2] qui est modifiée, mais comme toujours ais-je compris ?

[o-_-o]
lundi 29 octobre 2007 à 19:54:01 | Re : tableaux

debutant VB

Membre Club

Ok, merci.
je n'avais pas compris que les tableaux étaient associés mais qu'on pouvait l'empêcher avec .slice(0) (ou .join(",").split(",")  ).



Cette discussion est classée dans : code, var, tableaux, numd, numu


Répondre à ce message

Sujets en rapport avec ce message

Appel dynamique de tableaux [ par Capharnaum ] Bonjour, Débutante en javascript, je rencontre un problème et fait donc appel à vous. Je souhaiterai qu'une boucle me permette de renvoyer les valeurs Suppression de lignes ajoutées, dans un tableau [ par ju0123456789 ] Bonjour, Tout d'abord désolé si je ne suis pas dans le bon sujet. Ensuite, J'ai un tableau par défaut avec 3 lignes. J'ai créé un bouton qui en créé Aligner 3 tableaux [ par Guy72 ] Bonjour, Avec ce code, j'obtiens 3 tableaux verticaux, je depuis 1 heure, j'essaye de trouver le solution pour les mettres haurizontaux, mais je n'y a recuperation des valeurs des champs creer par javascript en php [ par elgbouri ] Bonjour, comme le titre l'indique, j'aimerai récupérer les valeurs des champs ajouter dynamiquement avec JavaScript pour les traiter avec la méthode W3C et & dans un code javascript [ par nicolazik ] Bonjour, j'ai un soucis avec un code du générateur de bannière aléatoire, je l'utilise pour afficher aléatoirement des publicités, or les liens des i incompatibilité d'un code javascript pour firefox et IE8 [ par chmidou ] Bonjour, j'ai récupéré un code et je l'ai adapté à mes besoins seulement, ça ne marche que sur chrome. voici, le code en question veuillez m'aidez. Bouton pour zoomer une image [ par Capharnaum ] Bonjour, Je souhaiterai créer dans ma page web un bouton qui permette de zoomer une image chargée. Voilà ce que j'ai actuellement dans ces fonctions, Remplacement point en virgule [ par Sowsix ] Bonjour. j'utilise un système de coordonées au clic sur une image et j'aimerais savoir comment faire pour transformer les . des décimales en , Voici Problème calcul "IF" (conditionnel) [ par canascat008 ] Bonjour a tous, je suis un petit morpion dans le monde du codage et je bute sur une formule !! je suis en train de coder un formulaire pour calculer API Google Maps les markers [ par steppp ] Bonjour, Je sollicite votre aide pour un problème qui m'étonne. Il me paraîtrait logique qu'il y ait une erreur très simple mais pourtant je réécris


Nos sponsors


Sondage...

Comparez les prix

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 : 1,061 sec (4)

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