IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Débutant en Javascript : problème de tableau !


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Débutant en Javascript : problème de tableau !
    Bonjour à tous,

    Je débute actuellement en javascript (pour développer des widgets Dashboard pour MacOS X) et j'ai un problème avec les tableaux.

    Voici le code que j'utilise :


    ImageSearcher.ProcessData = function ()
    {
    results = new Array(20, 4);

    for (i = 0; i < 20; i++)
    {
    alert("i : " + i);

    results[i, 0] = "Test" + i;
    }

    for (i = 0; i < 20; i++)
    {
    alert(i + ", 0 : " + results[i, 0]);
    }
    }

    Dans mon esprit, il consiste à initialiser un tableau de 20 colonnes et 4 lignes et de remplir les 20 colonnes de la première ligne avec le texte ("Test" + numéro de la colonne).

    Or, quand je lance le script, voici ce que je trouve sur ma console :

    i : 0
    i : 1
    i : 2
    i : 3
    i : 4
    i : 5
    i : 6
    i : 7
    i : 8
    i : 9
    i : 10
    i : 11
    i : 12
    i : 13
    i : 14
    i : 15
    i : 16
    i : 17
    i : 18
    i : 19
    0, 0 : Test19
    1, 0 : Test19
    2, 0 : Test19
    3, 0 : Test19
    4, 0 : Test19
    5, 0 : Test19
    6, 0 : Test19
    7, 0 : Test19
    8, 0 : Test19
    9, 0 : Test19
    10, 0 : Test19
    11, 0 : Test19
    12, 0 : Test19
    13, 0 : Test19
    14, 0 : Test19
    15, 0 : Test19
    16, 0 : Test19
    17, 0 : Test19
    18, 0 : Test19
    19, 0 : Test19


    Les 20 colonnes sont donc bien initialisées...mais quand je les consulte, elles contiennent toutes le même texte !!!

    Je commet certainement une erreur classique, mais je n'arrive pas à mettre le doigt dessus...


    Merci d'avance !

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    c'est juste un problème d'initialisation du tableau à 2 dimensions;

    "20, 4" en arguments de results() sont considérés comme 2 valeurs insérées;

    Il vaut donc mieux déclarer en 2 fois;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var results = new Array&#40;20&#41;;
     
    for &#40;i = 0; i < 20; i++&#41;&#123;
    	results&#91;i&#93;=new Array&#40;4&#41;;
    	results&#91;i&#93;&#91;0&#93; = "Test" + i; 
    	alert&#40;results&#91;i&#93;&#91;0&#93;&#41;; 
    &#125;

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par javatwister
    c'est juste un problème d'initialisation du tableau à 2 dimensions;

    "20, 4" en arguments de results() sont considérés comme 2 valeurs insérées;

    Il vaut donc mieux déclarer en 2 fois;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var results = new Array&#40;20&#41;;
     
    for &#40;i = 0; i < 20; i++&#41;&#123;
    	results&#91;i&#93;=new Array&#40;4&#41;;
    	results&#91;i&#93;&#91;0&#93; = "Test" + i; 
    	alert&#40;results&#91;i&#93;&#91;0&#93;&#41;; 
    &#125;

    Ca marche merci !!!

    Je pensais que déclarer un tableau comme je l'avais fait revenait à initialiser un table de 20 colonnes et 4 lignes. Où est-ce que j'ai lu ça déjà ?

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    je ne sais pas trop

    js est un langage un peu lourdaud et demande pas mal de manipulations de ce genre;

    une dimension à la fois, c'est la règle; et à chaque étape, les valeurs du tableau précédent doivent être déclarées comme tableau;


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var tab1=new Array&#40;&#41;;
    tab1&#91;0&#93;=new Array&#40;&#41;;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var tab1=&#91;&#93;
    tab1&#91;0&#93;=&#91;&#93;

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par javatwister
    je ne sais pas trop

    js est un langage un peu lourdaud et demande pas mal de manipulations de ce genre;

    une dimension à la fois, c'est la règle; et à chaque étape, les valeurs du tableau précédent doivent être déclarées comme tableau;


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var tab1=new Array&#40;&#41;;
    tab1&#91;0&#93;=new Array&#40;&#41;;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var tab1=&#91;&#93;
    tab1&#91;0&#93;=&#91;&#93;
    Hé bien encore un grand merci ! J'ignorais qu'il fallait procéder comme ça, j'étais pas prêt de m'en sortir seul...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [débutant] problème création tableau (pointeurs and Cie)
    Par olivier1209 dans le forum Débuter
    Réponses: 13
    Dernier message: 08/03/2009, 16h54
  2. [Débutant] Problème avec tableau à deux dimensions
    Par beegees dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 10/12/2006, 15h06
  3. [Débutant] Problème de Tableau dans FireFox
    Par virgul dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 04/09/2006, 15h53
  4. Problème de tableau
    Par krfa1 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 08/02/2005, 12h09
  5. [PHP-JS] Remplir un tableau javascript selon un tableau php
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/01/2005, 15h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo